﻿2026-06-15T08:25:24.2821116Z ##[group]Run ./traceable-reqs check --json
2026-06-15T08:25:24.2822180Z [36;1m./traceable-reqs check --json[0m
2026-06-15T08:25:24.2836355Z shell: /usr/bin/bash -e {0}
2026-06-15T08:25:24.2837357Z ##[endgroup]
2026-06-15T08:25:24.3118083Z {
2026-06-15T08:25:24.3119618Z   "schemaVersion": 1,
2026-06-15T08:25:24.3121051Z   "summary": {
2026-06-15T08:25:24.3122813Z     "requirementCount": 207,
2026-06-15T08:25:24.3124207Z     "completeCount": 207,
2026-06-15T08:25:24.3125323Z     "incompleteCount": 0,
2026-06-15T08:25:24.3126444Z     "findingCount": 0
2026-06-15T08:25:24.3127446Z   },
2026-06-15T08:25:24.3129097Z   "requirements": [
2026-06-15T08:25:24.3130078Z     {
2026-06-15T08:25:24.3145507Z       "id": "REQ-API-1",
2026-06-15T08:25:24.3147049Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-15T08:25:24.3148790Z       "requiredStages": [
2026-06-15T08:25:24.3149954Z         "impl",
2026-06-15T08:25:24.3150893Z         "unit",
2026-06-15T08:25:24.3151834Z         "int"
2026-06-15T08:25:24.3152807Z       ],
2026-06-15T08:25:24.3153722Z       "stages": {
2026-06-15T08:25:24.3154704Z         "doc": {
2026-06-15T08:25:24.3155705Z           "complete": false,
2026-06-15T08:25:24.3156862Z           "evidence": []
2026-06-15T08:25:24.3157914Z         },
2026-06-15T08:25:24.3158825Z         "impl": {
2026-06-15T08:25:24.3159908Z           "complete": true,
2026-06-15T08:25:24.3161030Z           "evidence": [
2026-06-15T08:25:24.3162050Z             {
2026-06-15T08:25:24.3163099Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.3164445Z               "line": 15
2026-06-15T08:25:24.3165474Z             }
2026-06-15T08:25:24.3166380Z           ]
2026-06-15T08:25:24.3167279Z         },
2026-06-15T08:25:24.3168164Z         "int": {
2026-06-15T08:25:24.3169232Z           "complete": true,
2026-06-15T08:25:24.3170374Z           "evidence": [
2026-06-15T08:25:24.3171427Z             {
2026-06-15T08:25:24.3172511Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.3173979Z               "line": 13
2026-06-15T08:25:24.3175044Z             }
2026-06-15T08:25:24.3176005Z           ]
2026-06-15T08:25:24.3176925Z         },
2026-06-15T08:25:24.3177826Z         "unit": {
2026-06-15T08:25:24.3178838Z           "complete": true,
2026-06-15T08:25:24.3180074Z           "evidence": [
2026-06-15T08:25:24.3180892Z             {
2026-06-15T08:25:24.3181658Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.3182655Z               "line": 480
2026-06-15T08:25:24.3183426Z             },
2026-06-15T08:25:24.3184102Z             {
2026-06-15T08:25:24.3184868Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.3185856Z               "line": 518
2026-06-15T08:25:24.3186624Z             },
2026-06-15T08:25:24.3187314Z             {
2026-06-15T08:25:24.3188076Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.3189146Z               "line": 586
2026-06-15T08:25:24.3189915Z             }
2026-06-15T08:25:24.3190591Z           ]
2026-06-15T08:25:24.3191362Z         }
2026-06-15T08:25:24.3192309Z       }
2026-06-15T08:25:24.3193302Z     },
2026-06-15T08:25:24.3194299Z     {
2026-06-15T08:25:24.3195348Z       "id": "REQ-API-2",
2026-06-15T08:25:24.3197297Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-15T08:25:24.3199401Z       "requiredStages": [
2026-06-15T08:25:24.3200607Z         "impl",
2026-06-15T08:25:24.3201719Z         "unit",
2026-06-15T08:25:24.3202793Z         "int"
2026-06-15T08:25:24.3203737Z       ],
2026-06-15T08:25:24.3204668Z       "stages": {
2026-06-15T08:25:24.3205674Z         "doc": {
2026-06-15T08:25:24.3206686Z           "complete": false,
2026-06-15T08:25:24.3207848Z           "evidence": []
2026-06-15T08:25:24.3208926Z         },
2026-06-15T08:25:24.3209928Z         "impl": {
2026-06-15T08:25:24.3210945Z           "complete": true,
2026-06-15T08:25:24.3212055Z           "evidence": [
2026-06-15T08:25:24.3213057Z             {
2026-06-15T08:25:24.3214544Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.3215972Z               "line": 17
2026-06-15T08:25:24.3217050Z             },
2026-06-15T08:25:24.3217999Z             {
2026-06-15T08:25:24.3219447Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.3220721Z               "line": 20
2026-06-15T08:25:24.3221737Z             },
2026-06-15T08:25:24.3222411Z             {
2026-06-15T08:25:24.3223203Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.3224232Z               "line": 139
2026-06-15T08:25:24.3225001Z             },
2026-06-15T08:25:24.3225667Z             {
2026-06-15T08:25:24.3226456Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3227458Z               "line": 24
2026-06-15T08:25:24.3228212Z             },
2026-06-15T08:25:24.3228868Z             {
2026-06-15T08:25:24.3229755Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3230778Z               "line": 41
2026-06-15T08:25:24.3231544Z             },
2026-06-15T08:25:24.3232207Z             {
2026-06-15T08:25:24.3233009Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3234025Z               "line": 209
2026-06-15T08:25:24.3234783Z             },
2026-06-15T08:25:24.3235451Z             {
2026-06-15T08:25:24.3236246Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3237349Z               "line": 251
2026-06-15T08:25:24.3238109Z             },
2026-06-15T08:25:24.3238782Z             {
2026-06-15T08:25:24.3239895Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3240979Z               "line": 330
2026-06-15T08:25:24.3241738Z             },
2026-06-15T08:25:24.3242419Z             {
2026-06-15T08:25:24.3243192Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3244183Z               "line": 17
2026-06-15T08:25:24.3245105Z             },
2026-06-15T08:25:24.3245929Z             {
2026-06-15T08:25:24.3246909Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3248148Z               "line": 30
2026-06-15T08:25:24.3249160Z             },
2026-06-15T08:25:24.3249993Z             {
2026-06-15T08:25:24.3250957Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3252202Z               "line": 63
2026-06-15T08:25:24.3253147Z             },
2026-06-15T08:25:24.3253971Z             {
2026-06-15T08:25:24.3254728Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3255709Z               "line": 76
2026-06-15T08:25:24.3256447Z             }
2026-06-15T08:25:24.3257110Z           ]
2026-06-15T08:25:24.3257737Z         },
2026-06-15T08:25:24.3258375Z         "int": {
2026-06-15T08:25:24.3259143Z           "complete": true,
2026-06-15T08:25:24.3259935Z           "evidence": [
2026-06-15T08:25:24.3260649Z             {
2026-06-15T08:25:24.3261436Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.3262450Z               "line": 14
2026-06-15T08:25:24.3263201Z             },
2026-06-15T08:25:24.3263854Z             {
2026-06-15T08:25:24.3264632Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.3265639Z               "line": 187
2026-06-15T08:25:24.3266383Z             }
2026-06-15T08:25:24.3267036Z           ]
2026-06-15T08:25:24.3267670Z         },
2026-06-15T08:25:24.3268306Z         "unit": {
2026-06-15T08:25:24.3269073Z           "complete": true,
2026-06-15T08:25:24.3269874Z           "evidence": [
2026-06-15T08:25:24.3270598Z             {
2026-06-15T08:25:24.3271376Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.3272378Z               "line": 82
2026-06-15T08:25:24.3273113Z             },
2026-06-15T08:25:24.3273766Z             {
2026-06-15T08:25:24.3274533Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.3275517Z               "line": 254
2026-06-15T08:25:24.3276266Z             },
2026-06-15T08:25:24.3276934Z             {
2026-06-15T08:25:24.3277925Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3279028Z               "line": 585
2026-06-15T08:25:24.3279786Z             },
2026-06-15T08:25:24.3280454Z             {
2026-06-15T08:25:24.3281234Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3282241Z               "line": 596
2026-06-15T08:25:24.3283238Z             },
2026-06-15T08:25:24.3283907Z             {
2026-06-15T08:25:24.3284702Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3285694Z               "line": 747
2026-06-15T08:25:24.3286447Z             },
2026-06-15T08:25:24.3287122Z             {
2026-06-15T08:25:24.3287922Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3288932Z               "line": 793
2026-06-15T08:25:24.3289746Z             },
2026-06-15T08:25:24.3290423Z             {
2026-06-15T08:25:24.3291186Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3292167Z               "line": 141
2026-06-15T08:25:24.3292930Z             },
2026-06-15T08:25:24.3293597Z             {
2026-06-15T08:25:24.3294361Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.3295339Z               "line": 185
2026-06-15T08:25:24.3296088Z             }
2026-06-15T08:25:24.3296751Z           ]
2026-06-15T08:25:24.3297391Z         }
2026-06-15T08:25:24.3298030Z       }
2026-06-15T08:25:24.3298655Z     },
2026-06-15T08:25:24.3299364Z     {
2026-06-15T08:25:24.3300029Z       "id": "REQ-API-3",
2026-06-15T08:25:24.3300997Z       "title": "commune/signoff are file-drops, not commands",
2026-06-15T08:25:24.3302085Z       "requiredStages": [
2026-06-15T08:25:24.3302856Z         "impl",
2026-06-15T08:25:24.3303528Z         "unit",
2026-06-15T08:25:24.3304190Z         "int"
2026-06-15T08:25:24.3304836Z       ],
2026-06-15T08:25:24.3305479Z       "stages": {
2026-06-15T08:25:24.3306161Z         "doc": {
2026-06-15T08:25:24.3306878Z           "complete": false,
2026-06-15T08:25:24.3307684Z           "evidence": []
2026-06-15T08:25:24.3308437Z         },
2026-06-15T08:25:24.3309158Z         "impl": {
2026-06-15T08:25:24.3309878Z           "complete": true,
2026-06-15T08:25:24.3310665Z           "evidence": [
2026-06-15T08:25:24.3311386Z             {
2026-06-15T08:25:24.3312152Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.3313120Z               "line": 27
2026-06-15T08:25:24.3313854Z             },
2026-06-15T08:25:24.3314512Z             {
2026-06-15T08:25:24.3315283Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3316279Z               "line": 442
2026-06-15T08:25:24.3317008Z             }
2026-06-15T08:25:24.3317642Z           ]
2026-06-15T08:25:24.3318249Z         },
2026-06-15T08:25:24.3318879Z         "int": {
2026-06-15T08:25:24.3319617Z           "complete": true,
2026-06-15T08:25:24.3320391Z           "evidence": [
2026-06-15T08:25:24.3321098Z             {
2026-06-15T08:25:24.3321869Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.3322872Z               "line": 261
2026-06-15T08:25:24.3323600Z             }
2026-06-15T08:25:24.3324239Z           ]
2026-06-15T08:25:24.3324845Z         },
2026-06-15T08:25:24.3325475Z         "unit": {
2026-06-15T08:25:24.3326167Z           "complete": true,
2026-06-15T08:25:24.3326943Z           "evidence": [
2026-06-15T08:25:24.3327659Z             {
2026-06-15T08:25:24.3328412Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.3329462Z               "line": 280
2026-06-15T08:25:24.3330196Z             },
2026-06-15T08:25:24.3330841Z             {
2026-06-15T08:25:24.3331610Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.3332597Z               "line": 822
2026-06-15T08:25:24.3333307Z             }
2026-06-15T08:25:24.3333959Z           ]
2026-06-15T08:25:24.3334579Z         }
2026-06-15T08:25:24.3335194Z       }
2026-06-15T08:25:24.3335800Z     },
2026-06-15T08:25:24.3336395Z     {
2026-06-15T08:25:24.3337041Z       "id": "REQ-ARCH-1",
2026-06-15T08:25:24.3338066Z       "title": "Many small acyclically-layered crates",
2026-06-15T08:25:24.3339147Z       "requiredStages": [
2026-06-15T08:25:24.3339894Z         "impl"
2026-06-15T08:25:24.3340533Z       ],
2026-06-15T08:25:24.3341149Z       "stages": {
2026-06-15T08:25:24.3341819Z         "doc": {
2026-06-15T08:25:24.3342622Z           "complete": false,
2026-06-15T08:25:24.3343396Z           "evidence": []
2026-06-15T08:25:24.3344115Z         },
2026-06-15T08:25:24.3344734Z         "impl": {
2026-06-15T08:25:24.3345411Z           "complete": true,
2026-06-15T08:25:24.3346178Z           "evidence": [
2026-06-15T08:25:24.3346902Z             {
2026-06-15T08:25:24.3347634Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-15T08:25:24.3348569Z               "line": 16
2026-06-15T08:25:24.3349351Z             },
2026-06-15T08:25:24.3349996Z             {
2026-06-15T08:25:24.3350726Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-15T08:25:24.3351666Z               "line": 12
2026-06-15T08:25:24.3352393Z             },
2026-06-15T08:25:24.3353026Z             {
2026-06-15T08:25:24.3353764Z               "path": "crates/spt-store/src/lib.rs",
2026-06-15T08:25:24.3354698Z               "line": 12
2026-06-15T08:25:24.3379447Z             }
2026-06-15T08:25:24.3380121Z           ]
2026-06-15T08:25:24.3380769Z         },
2026-06-15T08:25:24.3381392Z         "int": {
2026-06-15T08:25:24.3382082Z           "complete": false,
2026-06-15T08:25:24.3382873Z           "evidence": []
2026-06-15T08:25:24.3383588Z         },
2026-06-15T08:25:24.3384195Z         "unit": {
2026-06-15T08:25:24.3384882Z           "complete": false,
2026-06-15T08:25:24.3385656Z           "evidence": []
2026-06-15T08:25:24.3386360Z         }
2026-06-15T08:25:24.3386956Z       }
2026-06-15T08:25:24.3387538Z     },
2026-06-15T08:25:24.3388128Z     {
2026-06-15T08:25:24.3388743Z       "id": "REQ-ARCH-2",
2026-06-15T08:25:24.3389942Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-15T08:25:24.3391115Z       "requiredStages": [
2026-06-15T08:25:24.3391858Z         "impl"
2026-06-15T08:25:24.3392489Z       ],
2026-06-15T08:25:24.3393095Z       "stages": {
2026-06-15T08:25:24.3393752Z         "doc": {
2026-06-15T08:25:24.3394419Z           "complete": false,
2026-06-15T08:25:24.3395209Z           "evidence": []
2026-06-15T08:25:24.3395929Z         },
2026-06-15T08:25:24.3396550Z         "impl": {
2026-06-15T08:25:24.3397240Z           "complete": true,
2026-06-15T08:25:24.3398011Z           "evidence": [
2026-06-15T08:25:24.3398698Z             {
2026-06-15T08:25:24.3399513Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-15T08:25:24.3400459Z               "line": 18
2026-06-15T08:25:24.3401178Z             }
2026-06-15T08:25:24.3401804Z           ]
2026-06-15T08:25:24.3402409Z         },
2026-06-15T08:25:24.3403012Z         "int": {
2026-06-15T08:25:24.3403684Z           "complete": false,
2026-06-15T08:25:24.3404452Z           "evidence": []
2026-06-15T08:25:24.3405170Z         },
2026-06-15T08:25:24.3405788Z         "unit": {
2026-06-15T08:25:24.3406475Z           "complete": false,
2026-06-15T08:25:24.3407256Z           "evidence": []
2026-06-15T08:25:24.3407980Z         }
2026-06-15T08:25:24.3408585Z       }
2026-06-15T08:25:24.3409263Z     },
2026-06-15T08:25:24.3409859Z     {
2026-06-15T08:25:24.3410489Z       "id": "REQ-ARCH-3",
2026-06-15T08:25:24.3411682Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-15T08:25:24.3413044Z       "requiredStages": [
2026-06-15T08:25:24.3413796Z         "impl",
2026-06-15T08:25:24.3414454Z         "unit"
2026-06-15T08:25:24.3415084Z       ],
2026-06-15T08:25:24.3415702Z       "stages": {
2026-06-15T08:25:24.3416372Z         "doc": {
2026-06-15T08:25:24.3417059Z           "complete": false,
2026-06-15T08:25:24.3417850Z           "evidence": []
2026-06-15T08:25:24.3418564Z         },
2026-06-15T08:25:24.3419252Z         "impl": {
2026-06-15T08:25:24.3419947Z           "complete": true,
2026-06-15T08:25:24.3420913Z           "evidence": [
2026-06-15T08:25:24.3421622Z             {
2026-06-15T08:25:24.3422400Z               "path": "crates/spt-proto/src/version.rs",
2026-06-15T08:25:24.3423397Z               "line": 34
2026-06-15T08:25:24.3424118Z             },
2026-06-15T08:25:24.3424761Z             {
2026-06-15T08:25:24.3425668Z               "path": "crates/spt-proto/src/version.rs",
2026-06-15T08:25:24.3426670Z               "line": 41
2026-06-15T08:25:24.3427418Z             }
2026-06-15T08:25:24.3428062Z           ]
2026-06-15T08:25:24.3428682Z         },
2026-06-15T08:25:24.3429381Z         "int": {
2026-06-15T08:25:24.3430078Z           "complete": false,
2026-06-15T08:25:24.3430878Z           "evidence": []
2026-06-15T08:25:24.3431610Z         },
2026-06-15T08:25:24.3432244Z         "unit": {
2026-06-15T08:25:24.3432930Z           "complete": true,
2026-06-15T08:25:24.3433713Z           "evidence": [
2026-06-15T08:25:24.3434439Z             {
2026-06-15T08:25:24.3435241Z               "path": "crates/spt-proto/src/version.rs",
2026-06-15T08:25:24.3436256Z               "line": 51
2026-06-15T08:25:24.3436996Z             },
2026-06-15T08:25:24.3437654Z             {
2026-06-15T08:25:24.3438447Z               "path": "crates/spt-proto/src/version.rs",
2026-06-15T08:25:24.3439522Z               "line": 71
2026-06-15T08:25:24.3440275Z             },
2026-06-15T08:25:24.3440929Z             {
2026-06-15T08:25:24.3441730Z               "path": "crates/spt-proto/src/version.rs",
2026-06-15T08:25:24.3442733Z               "line": 83
2026-06-15T08:25:24.3443472Z             }
2026-06-15T08:25:24.3444125Z           ]
2026-06-15T08:25:24.3444748Z         }
2026-06-15T08:25:24.3445361Z       }
2026-06-15T08:25:24.3445976Z     },
2026-06-15T08:25:24.3446592Z     {
2026-06-15T08:25:24.3447244Z       "id": "REQ-ARCH-4",
2026-06-15T08:25:24.3448354Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-15T08:25:24.3449670Z       "requiredStages": [
2026-06-15T08:25:24.3450445Z         "impl",
2026-06-15T08:25:24.3451117Z         "unit"
2026-06-15T08:25:24.3451770Z       ],
2026-06-15T08:25:24.3452389Z       "stages": {
2026-06-15T08:25:24.3453078Z         "doc": {
2026-06-15T08:25:24.3453799Z           "complete": false,
2026-06-15T08:25:24.3454609Z           "evidence": []
2026-06-15T08:25:24.3455352Z         },
2026-06-15T08:25:24.3455993Z         "impl": {
2026-06-15T08:25:24.3456695Z           "complete": true,
2026-06-15T08:25:24.3457476Z           "evidence": [
2026-06-15T08:25:24.3458206Z             {
2026-06-15T08:25:24.3459051Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3460038Z               "line": 157
2026-06-15T08:25:24.3460781Z             },
2026-06-15T08:25:24.3461439Z             {
2026-06-15T08:25:24.3462216Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3463205Z               "line": 180
2026-06-15T08:25:24.3463948Z             },
2026-06-15T08:25:24.3464602Z             {
2026-06-15T08:25:24.3465384Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3466378Z               "line": 200
2026-06-15T08:25:24.3467134Z             },
2026-06-15T08:25:24.3467798Z             {
2026-06-15T08:25:24.3468560Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3469621Z               "line": 215
2026-06-15T08:25:24.3470369Z             },
2026-06-15T08:25:24.3471038Z             {
2026-06-15T08:25:24.3471828Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3472815Z               "line": 265
2026-06-15T08:25:24.3473576Z             }
2026-06-15T08:25:24.3474232Z           ]
2026-06-15T08:25:24.3474866Z         },
2026-06-15T08:25:24.3475501Z         "int": {
2026-06-15T08:25:24.3476217Z           "complete": false,
2026-06-15T08:25:24.3477023Z           "evidence": []
2026-06-15T08:25:24.3477772Z         },
2026-06-15T08:25:24.3478417Z         "unit": {
2026-06-15T08:25:24.3479199Z           "complete": true,
2026-06-15T08:25:24.3480133Z           "evidence": [
2026-06-15T08:25:24.3480858Z             {
2026-06-15T08:25:24.3481641Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3482617Z               "line": 326
2026-06-15T08:25:24.3483365Z             },
2026-06-15T08:25:24.3484032Z             {
2026-06-15T08:25:24.3484811Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3485923Z               "line": 336
2026-06-15T08:25:24.3486691Z             },
2026-06-15T08:25:24.3487407Z             {
2026-06-15T08:25:24.3488188Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3489267Z               "line": 347
2026-06-15T08:25:24.3490026Z             },
2026-06-15T08:25:24.3490689Z             {
2026-06-15T08:25:24.3491470Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3492461Z               "line": 358
2026-06-15T08:25:24.3493215Z             },
2026-06-15T08:25:24.3493892Z             {
2026-06-15T08:25:24.3494681Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3495691Z               "line": 370
2026-06-15T08:25:24.3496458Z             },
2026-06-15T08:25:24.3497135Z             {
2026-06-15T08:25:24.3497923Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3498926Z               "line": 383
2026-06-15T08:25:24.3500367Z             },
2026-06-15T08:25:24.3501315Z             {
2026-06-15T08:25:24.3502321Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3503584Z               "line": 394
2026-06-15T08:25:24.3504542Z             },
2026-06-15T08:25:24.3505390Z             {
2026-06-15T08:25:24.3506375Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3507639Z               "line": 411
2026-06-15T08:25:24.3508585Z             },
2026-06-15T08:25:24.3509605Z             {
2026-06-15T08:25:24.3510591Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.3511842Z               "line": 539
2026-06-15T08:25:24.3512772Z             }
2026-06-15T08:25:24.3513557Z           ]
2026-06-15T08:25:24.3514201Z         }
2026-06-15T08:25:24.3514821Z       }
2026-06-15T08:25:24.3515436Z     },
2026-06-15T08:25:24.3516062Z     {
2026-06-15T08:25:24.3516705Z       "id": "REQ-CLI-1",
2026-06-15T08:25:24.3521482Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-15T08:25:24.3526188Z       "requiredStages": [
2026-06-15T08:25:24.3526946Z         "impl",
2026-06-15T08:25:24.3527618Z         "unit"
2026-06-15T08:25:24.3528287Z       ],
2026-06-15T08:25:24.3529017Z       "stages": {
2026-06-15T08:25:24.3529695Z         "doc": {
2026-06-15T08:25:24.3530401Z           "complete": false,
2026-06-15T08:25:24.3531221Z           "evidence": []
2026-06-15T08:25:24.3531958Z         },
2026-06-15T08:25:24.3532605Z         "impl": {
2026-06-15T08:25:24.3533320Z           "complete": true,
2026-06-15T08:25:24.3534103Z           "evidence": [
2026-06-15T08:25:24.3534822Z             {
2026-06-15T08:25:24.3535546Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3536494Z               "line": 225
2026-06-15T08:25:24.3537235Z             },
2026-06-15T08:25:24.3537873Z             {
2026-06-15T08:25:24.3538642Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3539639Z               "line": 984
2026-06-15T08:25:24.3540392Z             },
2026-06-15T08:25:24.3541050Z             {
2026-06-15T08:25:24.3541777Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3542707Z               "line": 1512
2026-06-15T08:25:24.3543456Z             },
2026-06-15T08:25:24.3544105Z             {
2026-06-15T08:25:24.3544824Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3545978Z               "line": 2719
2026-06-15T08:25:24.3546716Z             }
2026-06-15T08:25:24.3547350Z           ]
2026-06-15T08:25:24.3547968Z         },
2026-06-15T08:25:24.3548587Z         "int": {
2026-06-15T08:25:24.3549383Z           "complete": false,
2026-06-15T08:25:24.3550166Z           "evidence": []
2026-06-15T08:25:24.3551020Z         },
2026-06-15T08:25:24.3551645Z         "unit": {
2026-06-15T08:25:24.3552328Z           "complete": true,
2026-06-15T08:25:24.3553097Z           "evidence": [
2026-06-15T08:25:24.3553801Z             {
2026-06-15T08:25:24.3554517Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3555427Z               "line": 6406
2026-06-15T08:25:24.3556161Z             }
2026-06-15T08:25:24.3556800Z           ]
2026-06-15T08:25:24.3557410Z         }
2026-06-15T08:25:24.3558014Z       }
2026-06-15T08:25:24.3558603Z     },
2026-06-15T08:25:24.3559271Z     {
2026-06-15T08:25:24.3559895Z       "id": "REQ-CLI-2",
2026-06-15T08:25:24.3563039Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-15T08:25:24.3566221Z       "requiredStages": [
2026-06-15T08:25:24.3566954Z         "impl",
2026-06-15T08:25:24.3567622Z         "unit"
2026-06-15T08:25:24.3568251Z       ],
2026-06-15T08:25:24.3568854Z       "stages": {
2026-06-15T08:25:24.3569578Z         "doc": {
2026-06-15T08:25:24.3570242Z           "complete": false,
2026-06-15T08:25:24.3570999Z           "evidence": []
2026-06-15T08:25:24.3571702Z         },
2026-06-15T08:25:24.3572326Z         "impl": {
2026-06-15T08:25:24.3572998Z           "complete": true,
2026-06-15T08:25:24.3573743Z           "evidence": [
2026-06-15T08:25:24.3574436Z             {
2026-06-15T08:25:24.3575203Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.3576156Z               "line": 345
2026-06-15T08:25:24.3576875Z             },
2026-06-15T08:25:24.3577504Z             {
2026-06-15T08:25:24.3578278Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-15T08:25:24.3579320Z               "line": 78
2026-06-15T08:25:24.3580043Z             },
2026-06-15T08:25:24.3580677Z             {
2026-06-15T08:25:24.3581460Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.3582419Z               "line": 239
2026-06-15T08:25:24.3583125Z             },
2026-06-15T08:25:24.3583755Z             {
2026-06-15T08:25:24.3584450Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3585349Z               "line": 419
2026-06-15T08:25:24.3586064Z             },
2026-06-15T08:25:24.3586702Z             {
2026-06-15T08:25:24.3587407Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3588304Z               "line": 1067
2026-06-15T08:25:24.3589105Z             },
2026-06-15T08:25:24.3589742Z             {
2026-06-15T08:25:24.3590451Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3591342Z               "line": 1707
2026-06-15T08:25:24.3592063Z             },
2026-06-15T08:25:24.3592695Z             {
2026-06-15T08:25:24.3593399Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3594311Z               "line": 1786
2026-06-15T08:25:24.3595043Z             },
2026-06-15T08:25:24.3595675Z             {
2026-06-15T08:25:24.3596370Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3597267Z               "line": 1847
2026-06-15T08:25:24.3597977Z             }
2026-06-15T08:25:24.3598606Z           ]
2026-06-15T08:25:24.3599302Z         },
2026-06-15T08:25:24.3599908Z         "int": {
2026-06-15T08:25:24.3600581Z           "complete": false,
2026-06-15T08:25:24.3601350Z           "evidence": []
2026-06-15T08:25:24.3602051Z         },
2026-06-15T08:25:24.3602661Z         "unit": {
2026-06-15T08:25:24.3603340Z           "complete": true,
2026-06-15T08:25:24.3604222Z           "evidence": [
2026-06-15T08:25:24.3604908Z             {
2026-06-15T08:25:24.3605656Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.3606616Z               "line": 309
2026-06-15T08:25:24.3607322Z             },
2026-06-15T08:25:24.3607942Z             {
2026-06-15T08:25:24.3608646Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3609715Z               "line": 6544
2026-06-15T08:25:24.3610429Z             }
2026-06-15T08:25:24.3611037Z           ]
2026-06-15T08:25:24.3611634Z         }
2026-06-15T08:25:24.3612220Z       }
2026-06-15T08:25:24.3612807Z     },
2026-06-15T08:25:24.3613383Z     {
2026-06-15T08:25:24.3613984Z       "id": "REQ-CLI-3",
2026-06-15T08:25:24.3617106Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-15T08:25:24.3620398Z       "requiredStages": [
2026-06-15T08:25:24.3621115Z         "impl",
2026-06-15T08:25:24.3621740Z         "unit"
2026-06-15T08:25:24.3622354Z       ],
2026-06-15T08:25:24.3622941Z       "stages": {
2026-06-15T08:25:24.3623571Z         "doc": {
2026-06-15T08:25:24.3624233Z           "complete": false,
2026-06-15T08:25:24.3624985Z           "evidence": []
2026-06-15T08:25:24.3625676Z         },
2026-06-15T08:25:24.3626268Z         "impl": {
2026-06-15T08:25:24.3626928Z           "complete": true,
2026-06-15T08:25:24.3627671Z           "evidence": [
2026-06-15T08:25:24.3628361Z             {
2026-06-15T08:25:24.3629130Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3630010Z               "line": 978
2026-06-15T08:25:24.3630706Z             }
2026-06-15T08:25:24.3631321Z           ]
2026-06-15T08:25:24.3631912Z         },
2026-06-15T08:25:24.3632515Z         "int": {
2026-06-15T08:25:24.3633187Z           "complete": false,
2026-06-15T08:25:24.3633942Z           "evidence": []
2026-06-15T08:25:24.3634642Z         },
2026-06-15T08:25:24.3635244Z         "unit": {
2026-06-15T08:25:24.3635917Z           "complete": true,
2026-06-15T08:25:24.3636664Z           "evidence": [
2026-06-15T08:25:24.3637355Z             {
2026-06-15T08:25:24.3638039Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3638936Z               "line": 6371
2026-06-15T08:25:24.3639738Z             }
2026-06-15T08:25:24.3640356Z           ]
2026-06-15T08:25:24.3640947Z         }
2026-06-15T08:25:24.3641538Z       }
2026-06-15T08:25:24.3648919Z     },
2026-06-15T08:25:24.3649687Z     {
2026-06-15T08:25:24.3650312Z       "id": "REQ-CONSENT-1",
2026-06-15T08:25:24.3654222Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-15T08:25:24.3658104Z       "requiredStages": [
2026-06-15T08:25:24.3658825Z         "impl",
2026-06-15T08:25:24.3659537Z         "unit"
2026-06-15T08:25:24.3660166Z       ],
2026-06-15T08:25:24.3660757Z       "stages": {
2026-06-15T08:25:24.3661399Z         "doc": {
2026-06-15T08:25:24.3662067Z           "complete": false,
2026-06-15T08:25:24.3662840Z           "evidence": []
2026-06-15T08:25:24.3663535Z         },
2026-06-15T08:25:24.3664144Z         "impl": {
2026-06-15T08:25:24.3664825Z           "complete": true,
2026-06-15T08:25:24.3665569Z           "evidence": [
2026-06-15T08:25:24.3666252Z             {
2026-06-15T08:25:24.3667001Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3667945Z               "line": 27
2026-06-15T08:25:24.3668640Z             },
2026-06-15T08:25:24.3669348Z             {
2026-06-15T08:25:24.3670092Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3671022Z               "line": 75
2026-06-15T08:25:24.3671889Z             },
2026-06-15T08:25:24.3672508Z             {
2026-06-15T08:25:24.3673242Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3674195Z               "line": 98
2026-06-15T08:25:24.3674894Z             },
2026-06-15T08:25:24.3675504Z             {
2026-06-15T08:25:24.3676400Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3677336Z               "line": 82
2026-06-15T08:25:24.3678027Z             },
2026-06-15T08:25:24.3678652Z             {
2026-06-15T08:25:24.3679455Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3680376Z               "line": 109
2026-06-15T08:25:24.3681076Z             },
2026-06-15T08:25:24.3681692Z             {
2026-06-15T08:25:24.3682434Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3683360Z               "line": 127
2026-06-15T08:25:24.3684070Z             },
2026-06-15T08:25:24.3684717Z             {
2026-06-15T08:25:24.3685555Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3686503Z               "line": 142
2026-06-15T08:25:24.3687204Z             },
2026-06-15T08:25:24.3687830Z             {
2026-06-15T08:25:24.3688549Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3689503Z               "line": 5958
2026-06-15T08:25:24.3690232Z             }
2026-06-15T08:25:24.3690854Z           ]
2026-06-15T08:25:24.3691464Z         },
2026-06-15T08:25:24.3692065Z         "int": {
2026-06-15T08:25:24.3692719Z           "complete": false,
2026-06-15T08:25:24.3693476Z           "evidence": []
2026-06-15T08:25:24.3694177Z         },
2026-06-15T08:25:24.3694779Z         "unit": {
2026-06-15T08:25:24.3695444Z           "complete": true,
2026-06-15T08:25:24.3696195Z           "evidence": [
2026-06-15T08:25:24.3696882Z             {
2026-06-15T08:25:24.3697637Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3698591Z               "line": 334
2026-06-15T08:25:24.3699363Z             },
2026-06-15T08:25:24.3699992Z             {
2026-06-15T08:25:24.3700749Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3701700Z               "line": 380
2026-06-15T08:25:24.3702407Z             },
2026-06-15T08:25:24.3703032Z             {
2026-06-15T08:25:24.3703774Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3704728Z               "line": 391
2026-06-15T08:25:24.3705437Z             },
2026-06-15T08:25:24.3706060Z             {
2026-06-15T08:25:24.3706788Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3707718Z               "line": 165
2026-06-15T08:25:24.3708424Z             },
2026-06-15T08:25:24.3709126Z             {
2026-06-15T08:25:24.3709861Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3710801Z               "line": 184
2026-06-15T08:25:24.3711508Z             },
2026-06-15T08:25:24.3712132Z             {
2026-06-15T08:25:24.3712866Z               "path": "crates/spt-store/src/grants.rs",
2026-06-15T08:25:24.3713806Z               "line": 204
2026-06-15T08:25:24.3714510Z             },
2026-06-15T08:25:24.3715134Z             {
2026-06-15T08:25:24.3715827Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3716710Z               "line": 6724
2026-06-15T08:25:24.3717430Z             }
2026-06-15T08:25:24.3718064Z           ]
2026-06-15T08:25:24.3718670Z         }
2026-06-15T08:25:24.3719336Z       }
2026-06-15T08:25:24.3719915Z     },
2026-06-15T08:25:24.3720502Z     {
2026-06-15T08:25:24.3721141Z       "id": "REQ-CONSENT-2",
2026-06-15T08:25:24.3724656Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-15T08:25:24.3728233Z       "requiredStages": [
2026-06-15T08:25:24.3729139Z         "impl",
2026-06-15T08:25:24.3729773Z         "unit"
2026-06-15T08:25:24.3730400Z       ],
2026-06-15T08:25:24.3731015Z       "stages": {
2026-06-15T08:25:24.3731663Z         "doc": {
2026-06-15T08:25:24.3732340Z           "complete": false,
2026-06-15T08:25:24.3733100Z           "evidence": []
2026-06-15T08:25:24.3733806Z         },
2026-06-15T08:25:24.3734544Z         "impl": {
2026-06-15T08:25:24.3735206Z           "complete": true,
2026-06-15T08:25:24.3735959Z           "evidence": [
2026-06-15T08:25:24.3736642Z             {
2026-06-15T08:25:24.3737391Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3738341Z               "line": 140
2026-06-15T08:25:24.3739122Z             },
2026-06-15T08:25:24.3739761Z             {
2026-06-15T08:25:24.3740518Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3741466Z               "line": 165
2026-06-15T08:25:24.3742171Z             },
2026-06-15T08:25:24.3742810Z             {
2026-06-15T08:25:24.3743560Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3744523Z               "line": 199
2026-06-15T08:25:24.3745238Z             },
2026-06-15T08:25:24.3745866Z             {
2026-06-15T08:25:24.3746620Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3747570Z               "line": 241
2026-06-15T08:25:24.3748282Z             },
2026-06-15T08:25:24.3748920Z             {
2026-06-15T08:25:24.3749793Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3750761Z               "line": 269
2026-06-15T08:25:24.3751506Z             },
2026-06-15T08:25:24.3752140Z             {
2026-06-15T08:25:24.3752893Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3753829Z               "line": 300
2026-06-15T08:25:24.3754549Z             },
2026-06-15T08:25:24.3755173Z             {
2026-06-15T08:25:24.3755876Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3756774Z               "line": 5823
2026-06-15T08:25:24.3757500Z             },
2026-06-15T08:25:24.3758135Z             {
2026-06-15T08:25:24.3758823Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3759790Z               "line": 5881
2026-06-15T08:25:24.3760500Z             }
2026-06-15T08:25:24.3761110Z           ]
2026-06-15T08:25:24.3761714Z         },
2026-06-15T08:25:24.3762333Z         "int": {
2026-06-15T08:25:24.3763010Z           "complete": false,
2026-06-15T08:25:24.3763768Z           "evidence": []
2026-06-15T08:25:24.3764475Z         },
2026-06-15T08:25:24.3765085Z         "unit": {
2026-06-15T08:25:24.3765777Z           "complete": true,
2026-06-15T08:25:24.3766534Z           "evidence": [
2026-06-15T08:25:24.3767220Z             {
2026-06-15T08:25:24.3767984Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3769019Z               "line": 419
2026-06-15T08:25:24.3769736Z             },
2026-06-15T08:25:24.3770374Z             {
2026-06-15T08:25:24.3771131Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3772093Z               "line": 436
2026-06-15T08:25:24.3772797Z             },
2026-06-15T08:25:24.3773431Z             {
2026-06-15T08:25:24.3774200Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3775140Z               "line": 472
2026-06-15T08:25:24.3775861Z             },
2026-06-15T08:25:24.3776485Z             {
2026-06-15T08:25:24.3777253Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.3778204Z               "line": 516
2026-06-15T08:25:24.3778926Z             },
2026-06-15T08:25:24.3779645Z             {
2026-06-15T08:25:24.3780347Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3781249Z               "line": 7870
2026-06-15T08:25:24.3781969Z             },
2026-06-15T08:25:24.3782611Z             {
2026-06-15T08:25:24.3783319Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3784216Z               "line": 7952
2026-06-15T08:25:24.3785051Z             }
2026-06-15T08:25:24.3785667Z           ]
2026-06-15T08:25:24.3786278Z         }
2026-06-15T08:25:24.3786878Z       }
2026-06-15T08:25:24.3787459Z     },
2026-06-15T08:25:24.3788050Z     {
2026-06-15T08:25:24.3788679Z       "id": "REQ-CONV-1",
2026-06-15T08:25:24.3793975Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-15T08:25:24.3799077Z       "requiredStages": [
2026-06-15T08:25:24.3799825Z         "impl",
2026-06-15T08:25:24.3800478Z         "unit"
2026-06-15T08:25:24.3801111Z       ],
2026-06-15T08:25:24.3801716Z       "stages": {
2026-06-15T08:25:24.3802398Z         "doc": {
2026-06-15T08:25:24.3803075Z           "complete": false,
2026-06-15T08:25:24.3803836Z           "evidence": []
2026-06-15T08:25:24.3804545Z         },
2026-06-15T08:25:24.3805161Z         "impl": {
2026-06-15T08:25:24.3805833Z           "complete": true,
2026-06-15T08:25:24.3806572Z           "evidence": [
2026-06-15T08:25:24.3807278Z             {
2026-06-15T08:25:24.3808023Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.3809048Z               "line": 787
2026-06-15T08:25:24.3809762Z             },
2026-06-15T08:25:24.3810390Z             {
2026-06-15T08:25:24.3811149Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.3812104Z               "line": 94
2026-06-15T08:25:24.3812801Z             },
2026-06-15T08:25:24.3813425Z             {
2026-06-15T08:25:24.3814170Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.3815129Z               "line": 345
2026-06-15T08:25:24.3815839Z             },
2026-06-15T08:25:24.3816492Z             {
2026-06-15T08:25:24.3817256Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.3818220Z               "line": 387
2026-06-15T08:25:24.3818927Z             },
2026-06-15T08:25:24.3819641Z             {
2026-06-15T08:25:24.3820397Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.3821370Z               "line": 472
2026-06-15T08:25:24.3822075Z             },
2026-06-15T08:25:24.3822711Z             {
2026-06-15T08:25:24.3823466Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.3824424Z               "line": 667
2026-06-15T08:25:24.3825136Z             },
2026-06-15T08:25:24.3825766Z             {
2026-06-15T08:25:24.3826518Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.3827480Z               "line": 693
2026-06-15T08:25:24.3828199Z             },
2026-06-15T08:25:24.3828819Z             {
2026-06-15T08:25:24.3829691Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.3830666Z               "line": 369
2026-06-15T08:25:24.3831378Z             },
2026-06-15T08:25:24.3832008Z             {
2026-06-15T08:25:24.3832777Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-15T08:25:24.3833721Z               "line": 19
2026-06-15T08:25:24.3834412Z             }
2026-06-15T08:25:24.3835041Z           ]
2026-06-15T08:25:24.3835649Z         },
2026-06-15T08:25:24.3836264Z         "int": {
2026-06-15T08:25:24.3836926Z           "complete": false,
2026-06-15T08:25:24.3837693Z           "evidence": []
2026-06-15T08:25:24.3838396Z         },
2026-06-15T08:25:24.3839093Z         "unit": {
2026-06-15T08:25:24.3839765Z           "complete": true,
2026-06-15T08:25:24.3840518Z           "evidence": [
2026-06-15T08:25:24.3841203Z             {
2026-06-15T08:25:24.3841958Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.3842907Z               "line": 1263
2026-06-15T08:25:24.3843637Z             },
2026-06-15T08:25:24.3844390Z             {
2026-06-15T08:25:24.3845154Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-15T08:25:24.3846101Z               "line": 108
2026-06-15T08:25:24.3846810Z             },
2026-06-15T08:25:24.3847434Z             {
2026-06-15T08:25:24.3848196Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-15T08:25:24.3849353Z               "line": 134
2026-06-15T08:25:24.3850062Z             },
2026-06-15T08:25:24.3850696Z             {
2026-06-15T08:25:24.3851458Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-15T08:25:24.3852412Z               "line": 144
2026-06-15T08:25:24.3853123Z             }
2026-06-15T08:25:24.3853741Z           ]
2026-06-15T08:25:24.3854339Z         }
2026-06-15T08:25:24.3854950Z       }
2026-06-15T08:25:24.3855541Z     },
2026-06-15T08:25:24.3856123Z     {
2026-06-15T08:25:24.3856750Z       "id": "REQ-CONV-2",
2026-06-15T08:25:24.3860867Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-15T08:25:24.3864823Z       "requiredStages": [
2026-06-15T08:25:24.3865567Z         "impl",
2026-06-15T08:25:24.3866206Z         "unit"
2026-06-15T08:25:24.3866826Z       ],
2026-06-15T08:25:24.3867433Z       "stages": {
2026-06-15T08:25:24.3868086Z         "doc": {
2026-06-15T08:25:24.3868759Z           "complete": false,
2026-06-15T08:25:24.3869588Z           "evidence": []
2026-06-15T08:25:24.3870296Z         },
2026-06-15T08:25:24.3870911Z         "impl": {
2026-06-15T08:25:24.3871583Z           "complete": true,
2026-06-15T08:25:24.3872323Z           "evidence": [
2026-06-15T08:25:24.3873013Z             {
2026-06-15T08:25:24.3873786Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.3874752Z               "line": 359
2026-06-15T08:25:24.3875460Z             },
2026-06-15T08:25:24.3876099Z             {
2026-06-15T08:25:24.3876919Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.3877908Z               "line": 119
2026-06-15T08:25:24.3878613Z             },
2026-06-15T08:25:24.3879338Z             {
2026-06-15T08:25:24.3880130Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.3881085Z               "line": 789
2026-06-15T08:25:24.3881791Z             },
2026-06-15T08:25:24.3882419Z             {
2026-06-15T08:25:24.3883205Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.3884184Z               "line": 800
2026-06-15T08:25:24.3884885Z             },
2026-06-15T08:25:24.3885522Z             {
2026-06-15T08:25:24.3886268Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.3887203Z               "line": 334
2026-06-15T08:25:24.3887908Z             },
2026-06-15T08:25:24.3888553Z             {
2026-06-15T08:25:24.3889337Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3890223Z               "line": 2674
2026-06-15T08:25:24.3890937Z             },
2026-06-15T08:25:24.3891574Z             {
2026-06-15T08:25:24.3892279Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3893172Z               "line": 2690
2026-06-15T08:25:24.3893891Z             },
2026-06-15T08:25:24.3894515Z             {
2026-06-15T08:25:24.3895220Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.3896115Z               "line": 2747
2026-06-15T08:25:24.3896829Z             }
2026-06-15T08:25:24.3897439Z           ]
2026-06-15T08:25:24.3898040Z         },
2026-06-15T08:25:24.3898646Z         "int": {
2026-06-15T08:25:24.3899399Z           "complete": false,
2026-06-15T08:25:24.3900163Z           "evidence": []
2026-06-15T08:25:24.3900865Z         },
2026-06-15T08:25:24.3901482Z         "unit": {
2026-06-15T08:25:24.3902158Z           "complete": true,
2026-06-15T08:25:24.3903020Z           "evidence": [
2026-06-15T08:25:24.3903713Z             {
2026-06-15T08:25:24.3904465Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.3905409Z               "line": 889
2026-06-15T08:25:24.3906123Z             },
2026-06-15T08:25:24.3906759Z             {
2026-06-15T08:25:24.3907660Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.3908609Z               "line": 1014
2026-06-15T08:25:24.3909413Z             },
2026-06-15T08:25:24.3910046Z             {
2026-06-15T08:25:24.3910824Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.3911806Z               "line": 215
2026-06-15T08:25:24.3912512Z             }
2026-06-15T08:25:24.3913142Z           ]
2026-06-15T08:25:24.3913747Z         }
2026-06-15T08:25:24.3914339Z       }
2026-06-15T08:25:24.3914934Z     },
2026-06-15T08:25:24.3915520Z     {
2026-06-15T08:25:24.3916255Z       "id": "REQ-DAEMON-1",
2026-06-15T08:25:24.3970782Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-15T08:25:24.3972491Z       "requiredStages": [
2026-06-15T08:25:24.3973216Z         "impl",
2026-06-15T08:25:24.3973841Z         "unit",
2026-06-15T08:25:24.3974476Z         "int"
2026-06-15T08:25:24.3975077Z       ],
2026-06-15T08:25:24.3975658Z       "stages": {
2026-06-15T08:25:24.3976341Z         "doc": {
2026-06-15T08:25:24.3976995Z           "complete": false,
2026-06-15T08:25:24.3977723Z           "evidence": []
2026-06-15T08:25:24.3978400Z         },
2026-06-15T08:25:24.3979095Z         "impl": {
2026-06-15T08:25:24.3979754Z           "complete": true,
2026-06-15T08:25:24.3980477Z           "evidence": [
2026-06-15T08:25:24.3981148Z             {
2026-06-15T08:25:24.3981882Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.3982793Z               "line": 12
2026-06-15T08:25:24.3983482Z             },
2026-06-15T08:25:24.3984092Z             {
2026-06-15T08:25:24.3984830Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.3985773Z               "line": 16
2026-06-15T08:25:24.3986447Z             },
2026-06-15T08:25:24.3987054Z             {
2026-06-15T08:25:24.3987778Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.3988702Z               "line": 259
2026-06-15T08:25:24.3989504Z             },
2026-06-15T08:25:24.3990124Z             {
2026-06-15T08:25:24.3990839Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-15T08:25:24.3991727Z               "line": 15
2026-06-15T08:25:24.3992404Z             },
2026-06-15T08:25:24.3993010Z             {
2026-06-15T08:25:24.3993715Z               "path": "crates/spt/src/api/live.rs",
2026-06-15T08:25:24.3994594Z               "line": 13
2026-06-15T08:25:24.3995262Z             }
2026-06-15T08:25:24.3995859Z           ]
2026-06-15T08:25:24.3996447Z         },
2026-06-15T08:25:24.3997041Z         "int": {
2026-06-15T08:25:24.3997694Z           "complete": true,
2026-06-15T08:25:24.3998420Z           "evidence": [
2026-06-15T08:25:24.3999425Z             {
2026-06-15T08:25:24.4000178Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-15T08:25:24.4001116Z               "line": 32
2026-06-15T08:25:24.4001791Z             }
2026-06-15T08:25:24.4002382Z           ]
2026-06-15T08:25:24.4002955Z         },
2026-06-15T08:25:24.4003556Z         "unit": {
2026-06-15T08:25:24.4004205Z           "complete": true,
2026-06-15T08:25:24.4004921Z           "evidence": [
2026-06-15T08:25:24.4005578Z             {
2026-06-15T08:25:24.4006298Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.4007197Z               "line": 285
2026-06-15T08:25:24.4007883Z             },
2026-06-15T08:25:24.4008488Z             {
2026-06-15T08:25:24.4009291Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.4010237Z               "line": 293
2026-06-15T08:25:24.4010910Z             },
2026-06-15T08:25:24.4011521Z             {
2026-06-15T08:25:24.4012542Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.4013453Z               "line": 309
2026-06-15T08:25:24.4014131Z             },
2026-06-15T08:25:24.4014741Z             {
2026-06-15T08:25:24.4015462Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.4016363Z               "line": 317
2026-06-15T08:25:24.4017178Z             },
2026-06-15T08:25:24.4017785Z             {
2026-06-15T08:25:24.4018509Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4019526Z               "line": 609
2026-06-15T08:25:24.4020218Z             },
2026-06-15T08:25:24.4020817Z             {
2026-06-15T08:25:24.4021537Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4022448Z               "line": 679
2026-06-15T08:25:24.4023112Z             },
2026-06-15T08:25:24.4023718Z             {
2026-06-15T08:25:24.4024432Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-15T08:25:24.4025344Z               "line": 104
2026-06-15T08:25:24.4026036Z             },
2026-06-15T08:25:24.4026656Z             {
2026-06-15T08:25:24.4027370Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-15T08:25:24.4028279Z               "line": 129
2026-06-15T08:25:24.4029069Z             }
2026-06-15T08:25:24.4029708Z           ]
2026-06-15T08:25:24.4030314Z         }
2026-06-15T08:25:24.4030895Z       }
2026-06-15T08:25:24.4031468Z     },
2026-06-15T08:25:24.4032045Z     {
2026-06-15T08:25:24.4032651Z       "id": "REQ-DAEMON-2",
2026-06-15T08:25:24.4033533Z       "title": "Broker/brain split for seamless self-update",
2026-06-15T08:25:24.4034525Z       "requiredStages": [
2026-06-15T08:25:24.4035227Z         "impl",
2026-06-15T08:25:24.4035852Z         "unit",
2026-06-15T08:25:24.4036467Z         "int"
2026-06-15T08:25:24.4037072Z       ],
2026-06-15T08:25:24.4037664Z       "stages": {
2026-06-15T08:25:24.4038308Z         "doc": {
2026-06-15T08:25:24.4039038Z           "complete": true,
2026-06-15T08:25:24.4039773Z           "evidence": [
2026-06-15T08:25:24.4040450Z             {
2026-06-15T08:25:24.4041150Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-15T08:25:24.4042028Z               "line": 250
2026-06-15T08:25:24.4042700Z             }
2026-06-15T08:25:24.4043306Z           ]
2026-06-15T08:25:24.4043895Z         },
2026-06-15T08:25:24.4044518Z         "impl": {
2026-06-15T08:25:24.4045186Z           "complete": true,
2026-06-15T08:25:24.4045910Z           "evidence": [
2026-06-15T08:25:24.4046591Z             {
2026-06-15T08:25:24.4047322Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4048233Z               "line": 23
2026-06-15T08:25:24.4048916Z             },
2026-06-15T08:25:24.4049627Z             {
2026-06-15T08:25:24.4050352Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4051259Z               "line": 795
2026-06-15T08:25:24.4051954Z             },
2026-06-15T08:25:24.4052569Z             {
2026-06-15T08:25:24.4053283Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4054204Z               "line": 820
2026-06-15T08:25:24.4054906Z             },
2026-06-15T08:25:24.4055531Z             {
2026-06-15T08:25:24.4055940Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4056255Z               "line": 1026
2026-06-15T08:25:24.4056560Z             },
2026-06-15T08:25:24.4056852Z             {
2026-06-15T08:25:24.4057265Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4057568Z               "line": 32
2026-06-15T08:25:24.4057859Z             },
2026-06-15T08:25:24.4058154Z             {
2026-06-15T08:25:24.4058575Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4058899Z               "line": 549
2026-06-15T08:25:24.4059257Z             },
2026-06-15T08:25:24.4059577Z             {
2026-06-15T08:25:24.4059993Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4060298Z               "line": 1055
2026-06-15T08:25:24.4060731Z             },
2026-06-15T08:25:24.4061031Z             {
2026-06-15T08:25:24.4061432Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4061742Z               "line": 1342
2026-06-15T08:25:24.4062038Z             },
2026-06-15T08:25:24.4062328Z             {
2026-06-15T08:25:24.4062728Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-15T08:25:24.4063143Z               "line": 11
2026-06-15T08:25:24.4063439Z             },
2026-06-15T08:25:24.4063726Z             {
2026-06-15T08:25:24.4064154Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4064459Z               "line": 146
2026-06-15T08:25:24.4064760Z             },
2026-06-15T08:25:24.4065049Z             {
2026-06-15T08:25:24.4065471Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4065781Z               "line": 274
2026-06-15T08:25:24.4066077Z             },
2026-06-15T08:25:24.4066373Z             {
2026-06-15T08:25:24.4066763Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4067078Z               "line": 13
2026-06-15T08:25:24.4067373Z             },
2026-06-15T08:25:24.4067664Z             {
2026-06-15T08:25:24.4068075Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4068376Z               "line": 27
2026-06-15T08:25:24.4068672Z             },
2026-06-15T08:25:24.4069053Z             {
2026-06-15T08:25:24.4069469Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4069775Z               "line": 130
2026-06-15T08:25:24.4070065Z             },
2026-06-15T08:25:24.4070368Z             {
2026-06-15T08:25:24.4070781Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4071097Z               "line": 537
2026-06-15T08:25:24.4071387Z             },
2026-06-15T08:25:24.4071678Z             {
2026-06-15T08:25:24.4072098Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4072403Z               "line": 705
2026-06-15T08:25:24.4072709Z             },
2026-06-15T08:25:24.4072985Z             {
2026-06-15T08:25:24.4073404Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4073708Z               "line": 849
2026-06-15T08:25:24.4074008Z             },
2026-06-15T08:25:24.4074309Z             {
2026-06-15T08:25:24.4074723Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4075042Z               "line": 936
2026-06-15T08:25:24.4075338Z             },
2026-06-15T08:25:24.4075637Z             {
2026-06-15T08:25:24.4076055Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4076360Z               "line": 982
2026-06-15T08:25:24.4076660Z             },
2026-06-15T08:25:24.4076952Z             {
2026-06-15T08:25:24.4077385Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-15T08:25:24.4077691Z               "line": 10
2026-06-15T08:25:24.4077991Z             }
2026-06-15T08:25:24.4078281Z           ]
2026-06-15T08:25:24.4078579Z         },
2026-06-15T08:25:24.4078884Z         "int": {
2026-06-15T08:25:24.4079256Z           "complete": true,
2026-06-15T08:25:24.4079570Z           "evidence": [
2026-06-15T08:25:24.4079862Z             {
2026-06-15T08:25:24.4080296Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-15T08:25:24.4080601Z               "line": 17
2026-06-15T08:25:24.4080904Z             },
2026-06-15T08:25:24.4081207Z             {
2026-06-15T08:25:24.4081637Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-15T08:25:24.4081952Z               "line": 71
2026-06-15T08:25:24.4082238Z             },
2026-06-15T08:25:24.4082529Z             {
2026-06-15T08:25:24.4082968Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-15T08:25:24.4083283Z               "line": 91
2026-06-15T08:25:24.4083579Z             },
2026-06-15T08:25:24.4083872Z             {
2026-06-15T08:25:24.4084321Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-15T08:25:24.4084626Z               "line": 167
2026-06-15T08:25:24.4085035Z             },
2026-06-15T08:25:24.4085317Z             {
2026-06-15T08:25:24.4085775Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-15T08:25:24.4086102Z               "line": 209
2026-06-15T08:25:24.4086439Z             },
2026-06-15T08:25:24.4086826Z             {
2026-06-15T08:25:24.4087408Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-15T08:25:24.4087746Z               "line": 128
2026-06-15T08:25:24.4088222Z             },
2026-06-15T08:25:24.4088575Z             {
2026-06-15T08:25:24.4089120Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-15T08:25:24.4089496Z               "line": 59
2026-06-15T08:25:24.4089806Z             }
2026-06-15T08:25:24.4090222Z           ]
2026-06-15T08:25:24.4090599Z         },
2026-06-15T08:25:24.4090928Z         "unit": {
2026-06-15T08:25:24.4091314Z           "complete": true,
2026-06-15T08:25:24.4091636Z           "evidence": [
2026-06-15T08:25:24.4092049Z             {
2026-06-15T08:25:24.4092503Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-15T08:25:24.4092884Z               "line": 62
2026-06-15T08:25:24.4093237Z             },
2026-06-15T08:25:24.4093547Z             {
2026-06-15T08:25:24.4094067Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-15T08:25:24.4094408Z               "line": 76
2026-06-15T08:25:24.4094781Z             },
2026-06-15T08:25:24.4095101Z             {
2026-06-15T08:25:24.4095544Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-15T08:25:24.4095982Z               "line": 88
2026-06-15T08:25:24.4096292Z             },
2026-06-15T08:25:24.4096639Z             {
2026-06-15T08:25:24.4097081Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.4097443Z               "line": 294
2026-06-15T08:25:24.4097862Z             },
2026-06-15T08:25:24.4098171Z             {
2026-06-15T08:25:24.4098631Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4099078Z               "line": 771
2026-06-15T08:25:24.4099420Z             },
2026-06-15T08:25:24.4099780Z             {
2026-06-15T08:25:24.4100262Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4100634Z               "line": 779
2026-06-15T08:25:24.4100953Z             },
2026-06-15T08:25:24.4101291Z             {
2026-06-15T08:25:24.4101770Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4102153Z               "line": 796
2026-06-15T08:25:24.4102476Z             },
2026-06-15T08:25:24.4102820Z             {
2026-06-15T08:25:24.4103257Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4103658Z               "line": 850
2026-06-15T08:25:24.4104036Z             },
2026-06-15T08:25:24.4104351Z             {
2026-06-15T08:25:24.4104831Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4105201Z               "line": 1053
2026-06-15T08:25:24.4105554Z             },
2026-06-15T08:25:24.4105922Z             {
2026-06-15T08:25:24.4106371Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4106732Z               "line": 1065
2026-06-15T08:25:24.4107066Z             },
2026-06-15T08:25:24.4107430Z             {
2026-06-15T08:25:24.4107927Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-15T08:25:24.4108260Z               "line": 110
2026-06-15T08:25:24.4108622Z             },
2026-06-15T08:25:24.4109042Z             {
2026-06-15T08:25:24.4109548Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-15T08:25:24.4109942Z               "line": 143
2026-06-15T08:25:24.4110264Z             }
2026-06-15T08:25:24.4110621Z           ]
2026-06-15T08:25:24.4110941Z         }
2026-06-15T08:25:24.4111313Z       }
2026-06-15T08:25:24.4111632Z     },
2026-06-15T08:25:24.4111991Z     {
2026-06-15T08:25:24.4112387Z       "id": "REQ-DAEMON-3",
2026-06-15T08:25:24.4112955Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-15T08:25:24.4113361Z       "requiredStages": [
2026-06-15T08:25:24.4113827Z         "impl",
2026-06-15T08:25:24.4114199Z         "unit",
2026-06-15T08:25:24.4114518Z         "int"
2026-06-15T08:25:24.4114863Z       ],
2026-06-15T08:25:24.4115250Z       "stages": {
2026-06-15T08:25:24.4115576Z         "doc": {
2026-06-15T08:25:24.4115968Z           "complete": false,
2026-06-15T08:25:24.4116405Z           "evidence": []
2026-06-15T08:25:24.4116754Z         },
2026-06-15T08:25:24.4117059Z         "impl": {
2026-06-15T08:25:24.4117523Z           "complete": true,
2026-06-15T08:25:24.4117887Z           "evidence": [
2026-06-15T08:25:24.4118206Z             {
2026-06-15T08:25:24.4118691Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4119093Z               "line": 14
2026-06-15T08:25:24.4119521Z             },
2026-06-15T08:25:24.4119869Z             {
2026-06-15T08:25:24.4120314Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-15T08:25:24.4120688Z               "line": 11
2026-06-15T08:25:24.4121001Z             },
2026-06-15T08:25:24.4121421Z             {
2026-06-15T08:25:24.4121820Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.4122197Z               "line": 270
2026-06-15T08:25:24.4122541Z             },
2026-06-15T08:25:24.4122837Z             {
2026-06-15T08:25:24.4123330Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4123682Z               "line": 1705
2026-06-15T08:25:24.4124025Z             },
2026-06-15T08:25:24.4124345Z             {
2026-06-15T08:25:24.4124764Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4125217Z               "line": 3791
2026-06-15T08:25:24.4125542Z             },
2026-06-15T08:25:24.4125889Z             {
2026-06-15T08:25:24.4126260Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4126642Z               "line": 3812
2026-06-15T08:25:24.4127047Z             }
2026-06-15T08:25:24.4127367Z           ]
2026-06-15T08:25:24.4127707Z         },
2026-06-15T08:25:24.4128021Z         "int": {
2026-06-15T08:25:24.4128414Z           "complete": true,
2026-06-15T08:25:24.4128781Z           "evidence": [
2026-06-15T08:25:24.4129217Z             {
2026-06-15T08:25:24.4129691Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.4130024Z               "line": 49
2026-06-15T08:25:24.4130377Z             },
2026-06-15T08:25:24.4130748Z             {
2026-06-15T08:25:24.4131234Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.4131565Z               "line": 439
2026-06-15T08:25:24.4131933Z             }
2026-06-15T08:25:24.4132267Z           ]
2026-06-15T08:25:24.4132614Z         },
2026-06-15T08:25:24.4132986Z         "unit": {
2026-06-15T08:25:24.4133330Z           "complete": true,
2026-06-15T08:25:24.4133710Z           "evidence": [
2026-06-15T08:25:24.4134022Z             {
2026-06-15T08:25:24.4134505Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4134891Z               "line": 767
2026-06-15T08:25:24.4135220Z             },
2026-06-15T08:25:24.4135581Z             {
2026-06-15T08:25:24.4135963Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4136365Z               "line": 8951
2026-06-15T08:25:24.4136735Z             }
2026-06-15T08:25:24.4137050Z           ]
2026-06-15T08:25:24.4137412Z         }
2026-06-15T08:25:24.4137717Z       }
2026-06-15T08:25:24.4138098Z     },
2026-06-15T08:25:24.4138427Z     {
2026-06-15T08:25:24.4138832Z       "id": "REQ-DAEMON-4",
2026-06-15T08:25:24.4139383Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-15T08:25:24.4139735Z       "requiredStages": [
2026-06-15T08:25:24.4140116Z         "impl",
2026-06-15T08:25:24.4140451Z         "unit",
2026-06-15T08:25:24.4140809Z         "int"
2026-06-15T08:25:24.4141124Z       ],
2026-06-15T08:25:24.4141482Z       "stages": {
2026-06-15T08:25:24.4141856Z         "doc": {
2026-06-15T08:25:24.4142231Z           "complete": false,
2026-06-15T08:25:24.4142607Z           "evidence": []
2026-06-15T08:25:24.4142927Z         },
2026-06-15T08:25:24.4143409Z         "impl": {
2026-06-15T08:25:24.4143819Z           "complete": true,
2026-06-15T08:25:24.4144185Z           "evidence": [
2026-06-15T08:25:24.4144530Z             {
2026-06-15T08:25:24.4144983Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4145356Z               "line": 414
2026-06-15T08:25:24.4145755Z             },
2026-06-15T08:25:24.4146180Z             {
2026-06-15T08:25:24.4146662Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4146982Z               "line": 479
2026-06-15T08:25:24.4147329Z             },
2026-06-15T08:25:24.4147653Z             {
2026-06-15T08:25:24.4148182Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4148517Z               "line": 501
2026-06-15T08:25:24.4148855Z             }
2026-06-15T08:25:24.4149330Z           ]
2026-06-15T08:25:24.4149633Z         },
2026-06-15T08:25:24.4150047Z         "int": {
2026-06-15T08:25:24.4150396Z           "complete": true,
2026-06-15T08:25:24.4150764Z           "evidence": [
2026-06-15T08:25:24.4151069Z             {
2026-06-15T08:25:24.4151574Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-15T08:25:24.4151994Z               "line": 37
2026-06-15T08:25:24.4152306Z             }
2026-06-15T08:25:24.4152643Z           ]
2026-06-15T08:25:24.4152977Z         },
2026-06-15T08:25:24.4153302Z         "unit": {
2026-06-15T08:25:24.4153725Z           "complete": true,
2026-06-15T08:25:24.4154069Z           "evidence": [
2026-06-15T08:25:24.4154407Z             {
2026-06-15T08:25:24.4154863Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.4155215Z               "line": 428
2026-06-15T08:25:24.4155558Z             },
2026-06-15T08:25:24.4155921Z             {
2026-06-15T08:25:24.4156401Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4156755Z               "line": 907
2026-06-15T08:25:24.4157089Z             },
2026-06-15T08:25:24.4157443Z             {
2026-06-15T08:25:24.4157955Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4158331Z               "line": 977
2026-06-15T08:25:24.4158665Z             },
2026-06-15T08:25:24.4159052Z             {
2026-06-15T08:25:24.4159595Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4160018Z               "line": 1007
2026-06-15T08:25:24.4160360Z             },
2026-06-15T08:25:24.4160732Z             {
2026-06-15T08:25:24.4161203Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4161580Z               "line": 1040
2026-06-15T08:25:24.4161939Z             }
2026-06-15T08:25:24.4162268Z           ]
2026-06-15T08:25:24.4162607Z         }
2026-06-15T08:25:24.4162910Z       }
2026-06-15T08:25:24.4163280Z     },
2026-06-15T08:25:24.4163647Z     {
2026-06-15T08:25:24.4164005Z       "id": "REQ-DAEMON-5",
2026-06-15T08:25:24.4168291Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-15T08:25:24.4168682Z       "requiredStages": [
2026-06-15T08:25:24.4169107Z         "impl",
2026-06-15T08:25:24.4169483Z         "unit"
2026-06-15T08:25:24.4169789Z       ],
2026-06-15T08:25:24.4170146Z       "stages": {
2026-06-15T08:25:24.4170469Z         "doc": {
2026-06-15T08:25:24.4170867Z           "complete": false,
2026-06-15T08:25:24.4171264Z           "evidence": []
2026-06-15T08:25:24.4171569Z         },
2026-06-15T08:25:24.4171913Z         "impl": {
2026-06-15T08:25:24.4172251Z           "complete": true,
2026-06-15T08:25:24.4172636Z           "evidence": [
2026-06-15T08:25:24.4172984Z             {
2026-06-15T08:25:24.4173470Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4174058Z               "line": 476
2026-06-15T08:25:24.4174437Z             },
2026-06-15T08:25:24.4174855Z             {
2026-06-15T08:25:24.4175317Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4175681Z               "line": 769
2026-06-15T08:25:24.4176135Z             },
2026-06-15T08:25:24.4176464Z             {
2026-06-15T08:25:24.4176974Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4177318Z               "line": 782
2026-06-15T08:25:24.4177651Z             },
2026-06-15T08:25:24.4177966Z             {
2026-06-15T08:25:24.4178462Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4178841Z               "line": 800
2026-06-15T08:25:24.4179247Z             },
2026-06-15T08:25:24.4179586Z             {
2026-06-15T08:25:24.4180025Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4180400Z               "line": 841
2026-06-15T08:25:24.4180787Z             }
2026-06-15T08:25:24.4181115Z           ]
2026-06-15T08:25:24.4181466Z         },
2026-06-15T08:25:24.4181795Z         "int": {
2026-06-15T08:25:24.4182172Z           "complete": false,
2026-06-15T08:25:24.4182482Z           "evidence": []
2026-06-15T08:25:24.4182872Z         },
2026-06-15T08:25:24.4183235Z         "unit": {
2026-06-15T08:25:24.4183583Z           "complete": true,
2026-06-15T08:25:24.4183948Z           "evidence": [
2026-06-15T08:25:24.4184261Z             {
2026-06-15T08:25:24.4184787Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4185120Z               "line": 1189
2026-06-15T08:25:24.4185486Z             },
2026-06-15T08:25:24.4185835Z             {
2026-06-15T08:25:24.4186270Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4186686Z               "line": 1213
2026-06-15T08:25:24.4187001Z             },
2026-06-15T08:25:24.4187367Z             {
2026-06-15T08:25:24.4187825Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.4188183Z               "line": 1239
2026-06-15T08:25:24.4188583Z             }
2026-06-15T08:25:24.4188898Z           ]
2026-06-15T08:25:24.4189326Z         }
2026-06-15T08:25:24.4189641Z       }
2026-06-15T08:25:24.4189964Z     },
2026-06-15T08:25:24.4190370Z     {
2026-06-15T08:25:24.4190743Z       "id": "REQ-DAEMON-6",
2026-06-15T08:25:24.4196966Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-15T08:25:24.4197359Z       "requiredStages": [
2026-06-15T08:25:24.4197664Z         "impl",
2026-06-15T08:25:24.4198089Z         "unit"
2026-06-15T08:25:24.4198404Z       ],
2026-06-15T08:25:24.4198763Z       "stages": {
2026-06-15T08:25:24.4199176Z         "doc": {
2026-06-15T08:25:24.4199553Z           "complete": false,
2026-06-15T08:25:24.4199995Z           "evidence": []
2026-06-15T08:25:24.4200305Z         },
2026-06-15T08:25:24.4200664Z         "impl": {
2026-06-15T08:25:24.4200998Z           "complete": true,
2026-06-15T08:25:24.4201355Z           "evidence": [
2026-06-15T08:25:24.4201717Z             {
2026-06-15T08:25:24.4202207Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4202581Z               "line": 426
2026-06-15T08:25:24.4202886Z             },
2026-06-15T08:25:24.4203216Z             {
2026-06-15T08:25:24.4203697Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4204208Z               "line": 457
2026-06-15T08:25:24.4204561Z             },
2026-06-15T08:25:24.4204866Z             {
2026-06-15T08:25:24.4205329Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4205691Z               "line": 55
2026-06-15T08:25:24.4206058Z             },
2026-06-15T08:25:24.4206368Z             {
2026-06-15T08:25:24.4206959Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4207313Z               "line": 70
2026-06-15T08:25:24.4207659Z             },
2026-06-15T08:25:24.4208015Z             {
2026-06-15T08:25:24.4208397Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4208769Z               "line": 1759
2026-06-15T08:25:24.4209155Z             },
2026-06-15T08:25:24.4209541Z             {
2026-06-15T08:25:24.4209981Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4210329Z               "line": 1785
2026-06-15T08:25:24.4210666Z             }
2026-06-15T08:25:24.4210976Z           ]
2026-06-15T08:25:24.4211348Z         },
2026-06-15T08:25:24.4211714Z         "int": {
2026-06-15T08:25:24.4212067Z           "complete": false,
2026-06-15T08:25:24.4212420Z           "evidence": []
2026-06-15T08:25:24.4212729Z         },
2026-06-15T08:25:24.4213084Z         "unit": {
2026-06-15T08:25:24.4213446Z           "complete": true,
2026-06-15T08:25:24.4213833Z           "evidence": [
2026-06-15T08:25:24.4214172Z             {
2026-06-15T08:25:24.4214610Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4214996Z               "line": 288
2026-06-15T08:25:24.4215321Z             },
2026-06-15T08:25:24.4215682Z             {
2026-06-15T08:25:24.4216114Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4216472Z               "line": 299
2026-06-15T08:25:24.4216834Z             },
2026-06-15T08:25:24.4217167Z             {
2026-06-15T08:25:24.4217626Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4217950Z               "line": 325
2026-06-15T08:25:24.4218306Z             },
2026-06-15T08:25:24.4225000Z             {
2026-06-15T08:25:24.4225561Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4225876Z               "line": 351
2026-06-15T08:25:24.4226170Z             }
2026-06-15T08:25:24.4226459Z           ]
2026-06-15T08:25:24.4226745Z         }
2026-06-15T08:25:24.4227037Z       }
2026-06-15T08:25:24.4227318Z     },
2026-06-15T08:25:24.4227604Z     {
2026-06-15T08:25:24.4227914Z       "id": "REQ-DAEMON-7",
2026-06-15T08:25:24.4232425Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-15T08:25:24.4232763Z       "requiredStages": [
2026-06-15T08:25:24.4233050Z         "impl",
2026-06-15T08:25:24.4233341Z         "unit"
2026-06-15T08:25:24.4233613Z       ],
2026-06-15T08:25:24.4233906Z       "stages": {
2026-06-15T08:25:24.4234189Z         "doc": {
2026-06-15T08:25:24.4234500Z           "complete": false,
2026-06-15T08:25:24.4234800Z           "evidence": []
2026-06-15T08:25:24.4235091Z         },
2026-06-15T08:25:24.4235377Z         "impl": {
2026-06-15T08:25:24.4235683Z           "complete": true,
2026-06-15T08:25:24.4235978Z           "evidence": [
2026-06-15T08:25:24.4236246Z             {
2026-06-15T08:25:24.4236655Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4236948Z               "line": 476
2026-06-15T08:25:24.4237225Z             },
2026-06-15T08:25:24.4237506Z             {
2026-06-15T08:25:24.4237916Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.4238221Z               "line": 601
2026-06-15T08:25:24.4238654Z             },
2026-06-15T08:25:24.4239027Z             {
2026-06-15T08:25:24.4239430Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4239724Z               "line": 89
2026-06-15T08:25:24.4240005Z             },
2026-06-15T08:25:24.4240282Z             {
2026-06-15T08:25:24.4240635Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4241069Z               "line": 1706
2026-06-15T08:25:24.4241351Z             }
2026-06-15T08:25:24.4241633Z           ]
2026-06-15T08:25:24.4241899Z         },
2026-06-15T08:25:24.4242188Z         "int": {
2026-06-15T08:25:24.4242493Z           "complete": false,
2026-06-15T08:25:24.4242788Z           "evidence": []
2026-06-15T08:25:24.4243066Z         },
2026-06-15T08:25:24.4243356Z         "unit": {
2026-06-15T08:25:24.4243671Z           "complete": true,
2026-06-15T08:25:24.4243962Z           "evidence": [
2026-06-15T08:25:24.4244240Z             {
2026-06-15T08:25:24.4244636Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4244937Z               "line": 314
2026-06-15T08:25:24.4245228Z             },
2026-06-15T08:25:24.4245514Z             {
2026-06-15T08:25:24.4245876Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4246172Z               "line": 6544
2026-06-15T08:25:24.4246459Z             }
2026-06-15T08:25:24.4246730Z           ]
2026-06-15T08:25:24.4247016Z         }
2026-06-15T08:25:24.4247295Z       }
2026-06-15T08:25:24.4247565Z     },
2026-06-15T08:25:24.4247837Z     {
2026-06-15T08:25:24.4248147Z       "id": "REQ-DAEMON-8",
2026-06-15T08:25:24.4251230Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-15T08:25:24.4251549Z       "requiredStages": [
2026-06-15T08:25:24.4251844Z         "impl",
2026-06-15T08:25:24.4252135Z         "unit"
2026-06-15T08:25:24.4252425Z       ],
2026-06-15T08:25:24.4252710Z       "stages": {
2026-06-15T08:25:24.4252992Z         "doc": {
2026-06-15T08:25:24.4253307Z           "complete": false,
2026-06-15T08:25:24.4253608Z           "evidence": []
2026-06-15T08:25:24.4253879Z         },
2026-06-15T08:25:24.4254170Z         "impl": {
2026-06-15T08:25:24.4254485Z           "complete": true,
2026-06-15T08:25:24.4254791Z           "evidence": [
2026-06-15T08:25:24.4255074Z             {
2026-06-15T08:25:24.4255478Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4255778Z               "line": 376
2026-06-15T08:25:24.4256065Z             },
2026-06-15T08:25:24.4256346Z             {
2026-06-15T08:25:24.4256755Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4257056Z               "line": 56
2026-06-15T08:25:24.4257338Z             }
2026-06-15T08:25:24.4257624Z           ]
2026-06-15T08:25:24.4257903Z         },
2026-06-15T08:25:24.4258187Z         "int": {
2026-06-15T08:25:24.4258506Z           "complete": false,
2026-06-15T08:25:24.4258811Z           "evidence": []
2026-06-15T08:25:24.4259169Z         },
2026-06-15T08:25:24.4259460Z         "unit": {
2026-06-15T08:25:24.4259775Z           "complete": true,
2026-06-15T08:25:24.4260066Z           "evidence": [
2026-06-15T08:25:24.4260351Z             {
2026-06-15T08:25:24.4260758Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4261068Z               "line": 288
2026-06-15T08:25:24.4261364Z             },
2026-06-15T08:25:24.4261645Z             {
2026-06-15T08:25:24.4262046Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-15T08:25:24.4262346Z               "line": 325
2026-06-15T08:25:24.4262632Z             }
2026-06-15T08:25:24.4262918Z           ]
2026-06-15T08:25:24.4263199Z         }
2026-06-15T08:25:24.4263471Z       }
2026-06-15T08:25:24.4263748Z     },
2026-06-15T08:25:24.4264030Z     {
2026-06-15T08:25:24.4264444Z       "id": "REQ-DAEMON-9",
2026-06-15T08:25:24.4275567Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-15T08:25:24.4276094Z       "requiredStages": [
2026-06-15T08:25:24.4276392Z         "impl",
2026-06-15T08:25:24.4276679Z         "unit"
2026-06-15T08:25:24.4276984Z       ],
2026-06-15T08:25:24.4277265Z       "stages": {
2026-06-15T08:25:24.4277552Z         "doc": {
2026-06-15T08:25:24.4277862Z           "complete": false,
2026-06-15T08:25:24.4278167Z           "evidence": []
2026-06-15T08:25:24.4278444Z         },
2026-06-15T08:25:24.4278735Z         "impl": {
2026-06-15T08:25:24.4279133Z           "complete": true,
2026-06-15T08:25:24.4279451Z           "evidence": [
2026-06-15T08:25:24.4279742Z             {
2026-06-15T08:25:24.4280152Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4280461Z               "line": 262
2026-06-15T08:25:24.4280757Z             },
2026-06-15T08:25:24.4281039Z             {
2026-06-15T08:25:24.4281438Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4281737Z               "line": 600
2026-06-15T08:25:24.4282022Z             },
2026-06-15T08:25:24.4282304Z             {
2026-06-15T08:25:24.4282699Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4283009Z               "line": 190
2026-06-15T08:25:24.4283295Z             },
2026-06-15T08:25:24.4283582Z             {
2026-06-15T08:25:24.4283972Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4284273Z               "line": 275
2026-06-15T08:25:24.4284563Z             },
2026-06-15T08:25:24.4284839Z             {
2026-06-15T08:25:24.4285259Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4285559Z               "line": 312
2026-06-15T08:25:24.4285845Z             },
2026-06-15T08:25:24.4286123Z             {
2026-06-15T08:25:24.4286471Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4286779Z               "line": 1814
2026-06-15T08:25:24.4287053Z             }
2026-06-15T08:25:24.4287339Z           ]
2026-06-15T08:25:24.4287605Z         },
2026-06-15T08:25:24.4287887Z         "int": {
2026-06-15T08:25:24.4288183Z           "complete": false,
2026-06-15T08:25:24.4288483Z           "evidence": []
2026-06-15T08:25:24.4288765Z         },
2026-06-15T08:25:24.4289127Z         "unit": {
2026-06-15T08:25:24.4289437Z           "complete": true,
2026-06-15T08:25:24.4289721Z           "evidence": [
2026-06-15T08:25:24.4290002Z             {
2026-06-15T08:25:24.4290393Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4290688Z               "line": 723
2026-06-15T08:25:24.4290975Z             },
2026-06-15T08:25:24.4291251Z             {
2026-06-15T08:25:24.4291609Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4291900Z               "line": 8816
2026-06-15T08:25:24.4292174Z             }
2026-06-15T08:25:24.4292448Z           ]
2026-06-15T08:25:24.4292715Z         }
2026-06-15T08:25:24.4293001Z       }
2026-06-15T08:25:24.4293274Z     },
2026-06-15T08:25:24.4293550Z     {
2026-06-15T08:25:24.4293856Z       "id": "REQ-DOCS-1",
2026-06-15T08:25:24.4294504Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-15T08:25:24.4294810Z       "requiredStages": [
2026-06-15T08:25:24.4295208Z         "doc",
2026-06-15T08:25:24.4295500Z         "impl"
2026-06-15T08:25:24.4295776Z       ],
2026-06-15T08:25:24.4296077Z       "stages": {
2026-06-15T08:25:24.4296368Z         "doc": {
2026-06-15T08:25:24.4296688Z           "complete": true,
2026-06-15T08:25:24.4296983Z           "evidence": [
2026-06-15T08:25:24.4297372Z             {
2026-06-15T08:25:24.4297743Z               "path": "docs-site/src/index.md",
2026-06-15T08:25:24.4298038Z               "line": 50
2026-06-15T08:25:24.4298319Z             }
2026-06-15T08:25:24.4298601Z           ]
2026-06-15T08:25:24.4298886Z         },
2026-06-15T08:25:24.4299254Z         "impl": {
2026-06-15T08:25:24.4299565Z           "complete": true,
2026-06-15T08:25:24.4299865Z           "evidence": [
2026-06-15T08:25:24.4300144Z             {
2026-06-15T08:25:24.4300567Z               "path": ".github/workflows/docs-publish.yml",
2026-06-15T08:25:24.4300867Z               "line": 12
2026-06-15T08:25:24.4301139Z             },
2026-06-15T08:25:24.4301420Z             {
2026-06-15T08:25:24.4301783Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.4302078Z               "line": 14
2026-06-15T08:25:24.4302349Z             }
2026-06-15T08:25:24.4302634Z           ]
2026-06-15T08:25:24.4302909Z         },
2026-06-15T08:25:24.4303200Z         "int": {
2026-06-15T08:25:24.4303525Z           "complete": false,
2026-06-15T08:25:24.4303819Z           "evidence": []
2026-06-15T08:25:24.4304106Z         },
2026-06-15T08:25:24.4304388Z         "unit": {
2026-06-15T08:25:24.4304698Z           "complete": false,
2026-06-15T08:25:24.4305003Z           "evidence": []
2026-06-15T08:25:24.4305289Z         }
2026-06-15T08:25:24.4305558Z       }
2026-06-15T08:25:24.4305835Z     },
2026-06-15T08:25:24.4306116Z     {
2026-06-15T08:25:24.4306417Z       "id": "REQ-DOCS-2",
2026-06-15T08:25:24.4306962Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-15T08:25:24.4307272Z       "requiredStages": [
2026-06-15T08:25:24.4307568Z         "doc",
2026-06-15T08:25:24.4307846Z         "int"
2026-06-15T08:25:24.4308125Z       ],
2026-06-15T08:25:24.4308411Z       "stages": {
2026-06-15T08:25:24.4308697Z         "doc": {
2026-06-15T08:25:24.4309078Z           "complete": true,
2026-06-15T08:25:24.4309379Z           "evidence": [
2026-06-15T08:25:24.4309665Z             {
2026-06-15T08:25:24.4310261Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-15T08:25:24.4310557Z               "line": 3
2026-06-15T08:25:24.4310846Z             },
2026-06-15T08:25:24.4311127Z             {
2026-06-15T08:25:24.4311560Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-15T08:25:24.4311851Z               "line": 3
2026-06-15T08:25:24.4312147Z             },
2026-06-15T08:25:24.4312424Z             {
2026-06-15T08:25:24.4312867Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-15T08:25:24.4313170Z               "line": 3
2026-06-15T08:25:24.4313459Z             }
2026-06-15T08:25:24.4313751Z           ]
2026-06-15T08:25:24.4314032Z         },
2026-06-15T08:25:24.4314318Z         "impl": {
2026-06-15T08:25:24.4314633Z           "complete": false,
2026-06-15T08:25:24.4314948Z           "evidence": []
2026-06-15T08:25:24.4315239Z         },
2026-06-15T08:25:24.4315525Z         "int": {
2026-06-15T08:25:24.4315854Z           "complete": true,
2026-06-15T08:25:24.4316152Z           "evidence": [
2026-06-15T08:25:24.4316443Z             {
2026-06-15T08:25:24.4316859Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-15T08:25:24.4317164Z               "line": 14
2026-06-15T08:25:24.4317450Z             }
2026-06-15T08:25:24.4317730Z           ]
2026-06-15T08:25:24.4318021Z         },
2026-06-15T08:25:24.4318302Z         "unit": {
2026-06-15T08:25:24.4318614Z           "complete": false,
2026-06-15T08:25:24.4318914Z           "evidence": []
2026-06-15T08:25:24.4319286Z         }
2026-06-15T08:25:24.4319567Z       }
2026-06-15T08:25:24.4319849Z     },
2026-06-15T08:25:24.4320254Z     {
2026-06-15T08:25:24.4320564Z       "id": "REQ-DOCS-3",
2026-06-15T08:25:24.4321107Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-15T08:25:24.4321429Z       "requiredStages": [
2026-06-15T08:25:24.4321720Z         "doc"
2026-06-15T08:25:24.4322006Z       ],
2026-06-15T08:25:24.4322297Z       "stages": {
2026-06-15T08:25:24.4322702Z         "doc": {
2026-06-15T08:25:24.4323016Z           "complete": true,
2026-06-15T08:25:24.4323322Z           "evidence": [
2026-06-15T08:25:24.4323608Z             {
2026-06-15T08:25:24.4323982Z               "path": "docs-site/src/index.md",
2026-06-15T08:25:24.4324277Z               "line": 42
2026-06-15T08:25:24.4324564Z             }
2026-06-15T08:25:24.4324854Z           ]
2026-06-15T08:25:24.4325141Z         },
2026-06-15T08:25:24.4325431Z         "impl": {
2026-06-15T08:25:24.4325770Z           "complete": false,
2026-06-15T08:25:24.4326080Z           "evidence": []
2026-06-15T08:25:24.4326351Z         },
2026-06-15T08:25:24.4326669Z         "int": {
2026-06-15T08:25:24.4326988Z           "complete": false,
2026-06-15T08:25:24.4327289Z           "evidence": []
2026-06-15T08:25:24.4327571Z         },
2026-06-15T08:25:24.4327857Z         "unit": {
2026-06-15T08:25:24.4328166Z           "complete": false,
2026-06-15T08:25:24.4328472Z           "evidence": []
2026-06-15T08:25:24.4328763Z         }
2026-06-15T08:25:24.4329118Z       }
2026-06-15T08:25:24.4329399Z     },
2026-06-15T08:25:24.4329676Z     {
2026-06-15T08:25:24.4329976Z       "id": "REQ-DOCS-4",
2026-06-15T08:25:24.4330639Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-15T08:25:24.4330949Z       "requiredStages": [
2026-06-15T08:25:24.4331235Z         "doc",
2026-06-15T08:25:24.4331526Z         "impl",
2026-06-15T08:25:24.4331804Z         "unit"
2026-06-15T08:25:24.4332089Z       ],
2026-06-15T08:25:24.4332379Z       "stages": {
2026-06-15T08:25:24.4332675Z         "doc": {
2026-06-15T08:25:24.4332985Z           "complete": true,
2026-06-15T08:25:24.4333300Z           "evidence": [
2026-06-15T08:25:24.4333581Z             {
2026-06-15T08:25:24.4333943Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-15T08:25:24.4334248Z               "line": 35
2026-06-15T08:25:24.4334533Z             }
2026-06-15T08:25:24.4334828Z           ]
2026-06-15T08:25:24.4335114Z         },
2026-06-15T08:25:24.4335424Z         "impl": {
2026-06-15T08:25:24.4335734Z           "complete": true,
2026-06-15T08:25:24.4336025Z           "evidence": [
2026-06-15T08:25:24.4336315Z             {
2026-06-15T08:25:24.4336735Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.4337050Z               "line": 604
2026-06-15T08:25:24.4337339Z             },
2026-06-15T08:25:24.4337631Z             {
2026-06-15T08:25:24.4337998Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.4338298Z               "line": 15
2026-06-15T08:25:24.4338575Z             }
2026-06-15T08:25:24.4338856Z           ]
2026-06-15T08:25:24.4339224Z         },
2026-06-15T08:25:24.4339507Z         "int": {
2026-06-15T08:25:24.4339824Z           "complete": false,
2026-06-15T08:25:24.4340130Z           "evidence": []
2026-06-15T08:25:24.4340416Z         },
2026-06-15T08:25:24.4340706Z         "unit": {
2026-06-15T08:25:24.4341021Z           "complete": true,
2026-06-15T08:25:24.4341332Z           "evidence": [
2026-06-15T08:25:24.4341622Z             {
2026-06-15T08:25:24.4342047Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.4342360Z               "line": 1197
2026-06-15T08:25:24.4342654Z             }
2026-06-15T08:25:24.4342939Z           ]
2026-06-15T08:25:24.4343217Z         }
2026-06-15T08:25:24.4343488Z       }
2026-06-15T08:25:24.4343766Z     },
2026-06-15T08:25:24.4344062Z     {
2026-06-15T08:25:24.4344367Z       "id": "REQ-DOCS-5",
2026-06-15T08:25:24.4345032Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-15T08:25:24.4345364Z       "requiredStages": [
2026-06-15T08:25:24.4345769Z         "impl",
2026-06-15T08:25:24.4346060Z         "int"
2026-06-15T08:25:24.4346341Z       ],
2026-06-15T08:25:24.4346637Z       "stages": {
2026-06-15T08:25:24.4346919Z         "doc": {
2026-06-15T08:25:24.4347234Z           "complete": false,
2026-06-15T08:25:24.4347539Z           "evidence": []
2026-06-15T08:25:24.4347919Z         },
2026-06-15T08:25:24.4348210Z         "impl": {
2026-06-15T08:25:24.4348520Z           "complete": true,
2026-06-15T08:25:24.4348820Z           "evidence": [
2026-06-15T08:25:24.4349188Z             {
2026-06-15T08:25:24.4349616Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.4349926Z               "line": 605
2026-06-15T08:25:24.4350205Z             },
2026-06-15T08:25:24.4350481Z             {
2026-06-15T08:25:24.4350843Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.4351153Z               "line": 113
2026-06-15T08:25:24.4351435Z             }
2026-06-15T08:25:24.4351721Z           ]
2026-06-15T08:25:24.4352007Z         },
2026-06-15T08:25:24.4352297Z         "int": {
2026-06-15T08:25:24.4352617Z           "complete": true,
2026-06-15T08:25:24.4352920Z           "evidence": [
2026-06-15T08:25:24.4353199Z             {
2026-06-15T08:25:24.4353567Z               "path": ".github/workflows/ci.yml",
2026-06-15T08:25:24.4353862Z               "line": 107
2026-06-15T08:25:24.4354162Z             },
2026-06-15T08:25:24.4354444Z             {
2026-06-15T08:25:24.4354864Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.4355174Z               "line": 1234
2026-06-15T08:25:24.4355463Z             }
2026-06-15T08:25:24.4355757Z           ]
2026-06-15T08:25:24.4356043Z         },
2026-06-15T08:25:24.4356339Z         "unit": {
2026-06-15T08:25:24.4356663Z           "complete": false,
2026-06-15T08:25:24.4356968Z           "evidence": []
2026-06-15T08:25:24.4357254Z         }
2026-06-15T08:25:24.4357541Z       }
2026-06-15T08:25:24.4357828Z     },
2026-06-15T08:25:24.4358114Z     {
2026-06-15T08:25:24.4358426Z       "id": "REQ-DOCS-6",
2026-06-15T08:25:24.4360081Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-15T08:25:24.4360420Z       "requiredStages": [
2026-06-15T08:25:24.4360713Z         "impl",
2026-06-15T08:25:24.4361003Z         "unit",
2026-06-15T08:25:24.4361288Z         "int"
2026-06-15T08:25:24.4361579Z       ],
2026-06-15T08:25:24.4361874Z       "stages": {
2026-06-15T08:25:24.4362165Z         "doc": {
2026-06-15T08:25:24.4362480Z           "complete": true,
2026-06-15T08:25:24.4362791Z           "evidence": [
2026-06-15T08:25:24.4363076Z             {
2026-06-15T08:25:24.4363519Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-15T08:25:24.4363802Z               "line": 4
2026-06-15T08:25:24.4364088Z             }
2026-06-15T08:25:24.4364384Z           ]
2026-06-15T08:25:24.4364671Z         },
2026-06-15T08:25:24.4364976Z         "impl": {
2026-06-15T08:25:24.4365324Z           "complete": true,
2026-06-15T08:25:24.4365638Z           "evidence": [
2026-06-15T08:25:24.4365924Z             {
2026-06-15T08:25:24.4366279Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4366584Z               "line": 4693
2026-06-15T08:25:24.4366871Z             }
2026-06-15T08:25:24.4367156Z           ]
2026-06-15T08:25:24.4367439Z         },
2026-06-15T08:25:24.4367725Z         "int": {
2026-06-15T08:25:24.4368035Z           "complete": true,
2026-06-15T08:25:24.4368349Z           "evidence": [
2026-06-15T08:25:24.4368631Z             {
2026-06-15T08:25:24.4369153Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-15T08:25:24.4369472Z               "line": 39
2026-06-15T08:25:24.4369755Z             }
2026-06-15T08:25:24.4370045Z           ]
2026-06-15T08:25:24.4370327Z         },
2026-06-15T08:25:24.4370618Z         "unit": {
2026-06-15T08:25:24.4370929Z           "complete": true,
2026-06-15T08:25:24.4371236Z           "evidence": [
2026-06-15T08:25:24.4371654Z             {
2026-06-15T08:25:24.4372006Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4372321Z               "line": 8978
2026-06-15T08:25:24.4372612Z             }
2026-06-15T08:25:24.4372898Z           ]
2026-06-15T08:25:24.4373180Z         }
2026-06-15T08:25:24.4373466Z       }
2026-06-15T08:25:24.4373838Z     },
2026-06-15T08:25:24.4374127Z     {
2026-06-15T08:25:24.4374454Z       "id": "REQ-ELEVATE-1",
2026-06-15T08:25:24.4384511Z       "title": "Cross-platform self-elevating re-launch for privilege-gated commands: a pure decision seam `decide_elevation_path(os, elevation, interactive_tty, has_display, has_pkexec, has_term_emulator) -> ElevatePath{AlreadyElevated, InlineSudo, UacWindow, Pkexec, TerminalEmulator, PrintHint}` selecting how to re-acquire privilege, and the per-OS impure launchers it dispatches — Windows UAC console (ShellExecuteW `runas` on the abs-exe + verbatim argv; the elevated child does the work, prints 'You can close this window', and pauses for a keypress; the original prints 'Elevated terminal launched…' and exits 0; NEVER pipes the child's stdout back across the privilege boundary), Linux desktop pkexec (preferred, native polkit GUI auth) else x-terminal-emulator -e sudo (fallback list x-terminal-emulator→gnome-terminal→konsole→xterm), the existing interactive-TTY inline sudo, and the headless/no-path floor that prints the absolute-path command. Reused by every gated command (not subnet-specific). Generalizes should_auto_elevate.",
2026-06-15T08:25:24.4385048Z       "requiredStages": [
2026-06-15T08:25:24.4385353Z         "doc",
2026-06-15T08:25:24.4385663Z         "impl",
2026-06-15T08:25:24.4385949Z         "unit"
2026-06-15T08:25:24.4386244Z       ],
2026-06-15T08:25:24.4386535Z       "stages": {
2026-06-15T08:25:24.4386830Z         "doc": {
2026-06-15T08:25:24.4387148Z           "complete": true,
2026-06-15T08:25:24.4387451Z           "evidence": [
2026-06-15T08:25:24.4387761Z             {
2026-06-15T08:25:24.4388104Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.4388438Z               "line": 629
2026-06-15T08:25:24.4388734Z             }
2026-06-15T08:25:24.4389131Z           ]
2026-06-15T08:25:24.4389426Z         },
2026-06-15T08:25:24.4389731Z         "impl": {
2026-06-15T08:25:24.4390058Z           "complete": true,
2026-06-15T08:25:24.4390412Z           "evidence": [
2026-06-15T08:25:24.4390722Z             {
2026-06-15T08:25:24.4391094Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4391404Z               "line": 3128
2026-06-15T08:25:24.4391695Z             },
2026-06-15T08:25:24.4392034Z             {
2026-06-15T08:25:24.4392404Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4392712Z               "line": 3173
2026-06-15T08:25:24.4392998Z             },
2026-06-15T08:25:24.4393303Z             {
2026-06-15T08:25:24.4393675Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4393981Z               "line": 3235
2026-06-15T08:25:24.4394277Z             },
2026-06-15T08:25:24.4394567Z             {
2026-06-15T08:25:24.4394958Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.4395257Z               "line": 92
2026-06-15T08:25:24.4395550Z             },
2026-06-15T08:25:24.4395841Z             {
2026-06-15T08:25:24.4396223Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.4396533Z               "line": 148
2026-06-15T08:25:24.4396819Z             }
2026-06-15T08:25:24.4397100Z           ]
2026-06-15T08:25:24.4397385Z         },
2026-06-15T08:25:24.4397680Z         "int": {
2026-06-15T08:25:24.4398002Z           "complete": false,
2026-06-15T08:25:24.4398307Z           "evidence": []
2026-06-15T08:25:24.4398603Z         },
2026-06-15T08:25:24.4398889Z         "unit": {
2026-06-15T08:25:24.4399438Z           "complete": true,
2026-06-15T08:25:24.4399739Z           "evidence": [
2026-06-15T08:25:24.4400025Z             {
2026-06-15T08:25:24.4400411Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.4400852Z               "line": 438
2026-06-15T08:25:24.4401149Z             },
2026-06-15T08:25:24.4401430Z             {
2026-06-15T08:25:24.4401820Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.4402121Z               "line": 456
2026-06-15T08:25:24.4402411Z             }
2026-06-15T08:25:24.4402698Z           ]
2026-06-15T08:25:24.4403085Z         }
2026-06-15T08:25:24.4403377Z       }
2026-06-15T08:25:24.4403653Z     },
2026-06-15T08:25:24.4403935Z     {
2026-06-15T08:25:24.4404245Z       "id": "REQ-EP-1",
2026-06-15T08:25:24.4404697Z       "title": "Day-one endpoint types; open type system",
2026-06-15T08:25:24.4405012Z       "requiredStages": [
2026-06-15T08:25:24.4405307Z         "impl",
2026-06-15T08:25:24.4405593Z         "unit"
2026-06-15T08:25:24.4405878Z       ],
2026-06-15T08:25:24.4406182Z       "stages": {
2026-06-15T08:25:24.4406473Z         "doc": {
2026-06-15T08:25:24.4406802Z           "complete": false,
2026-06-15T08:25:24.4407117Z           "evidence": []
2026-06-15T08:25:24.4407408Z         },
2026-06-15T08:25:24.4407704Z         "impl": {
2026-06-15T08:25:24.4408014Z           "complete": true,
2026-06-15T08:25:24.4408326Z           "evidence": [
2026-06-15T08:25:24.4408614Z             {
2026-06-15T08:25:24.4409116Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4409421Z               "line": 77
2026-06-15T08:25:24.4409721Z             },
2026-06-15T08:25:24.4410003Z             {
2026-06-15T08:25:24.4410417Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4410727Z               "line": 94
2026-06-15T08:25:24.4411013Z             }
2026-06-15T08:25:24.4411299Z           ]
2026-06-15T08:25:24.4411590Z         },
2026-06-15T08:25:24.4411876Z         "int": {
2026-06-15T08:25:24.4412196Z           "complete": false,
2026-06-15T08:25:24.4412506Z           "evidence": []
2026-06-15T08:25:24.4412801Z         },
2026-06-15T08:25:24.4413092Z         "unit": {
2026-06-15T08:25:24.4413405Z           "complete": true,
2026-06-15T08:25:24.4413722Z           "evidence": [
2026-06-15T08:25:24.4414008Z             {
2026-06-15T08:25:24.4414428Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4414724Z               "line": 161
2026-06-15T08:25:24.4415019Z             },
2026-06-15T08:25:24.4415295Z             {
2026-06-15T08:25:24.4415721Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4416041Z               "line": 178
2026-06-15T08:25:24.4416329Z             }
2026-06-15T08:25:24.4416617Z           ]
2026-06-15T08:25:24.4416894Z         }
2026-06-15T08:25:24.4417189Z       }
2026-06-15T08:25:24.4417471Z     },
2026-06-15T08:25:24.4417762Z     {
2026-06-15T08:25:24.4418072Z       "id": "REQ-EP-2",
2026-06-15T08:25:24.4418622Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-15T08:25:24.4418929Z       "requiredStages": [
2026-06-15T08:25:24.4419389Z         "impl",
2026-06-15T08:25:24.4419686Z         "unit"
2026-06-15T08:25:24.4419967Z       ],
2026-06-15T08:25:24.4420262Z       "stages": {
2026-06-15T08:25:24.4420549Z         "doc": {
2026-06-15T08:25:24.4420864Z           "complete": false,
2026-06-15T08:25:24.4421170Z           "evidence": []
2026-06-15T08:25:24.4421455Z         },
2026-06-15T08:25:24.4421744Z         "impl": {
2026-06-15T08:25:24.4422063Z           "complete": true,
2026-06-15T08:25:24.4422378Z           "evidence": [
2026-06-15T08:25:24.4422678Z             {
2026-06-15T08:25:24.4423090Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4423409Z               "line": 114
2026-06-15T08:25:24.4423695Z             },
2026-06-15T08:25:24.4423983Z             {
2026-06-15T08:25:24.4424402Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4424712Z               "line": 131
2026-06-15T08:25:24.4425003Z             },
2026-06-15T08:25:24.4425279Z             {
2026-06-15T08:25:24.4425690Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4426108Z               "line": 138
2026-06-15T08:25:24.4426404Z             }
2026-06-15T08:25:24.4426686Z           ]
2026-06-15T08:25:24.4426970Z         },
2026-06-15T08:25:24.4427264Z         "int": {
2026-06-15T08:25:24.4427584Z           "complete": false,
2026-06-15T08:25:24.4427894Z           "evidence": []
2026-06-15T08:25:24.4428175Z         },
2026-06-15T08:25:24.4428581Z         "unit": {
2026-06-15T08:25:24.4428891Z           "complete": true,
2026-06-15T08:25:24.4429289Z           "evidence": [
2026-06-15T08:25:24.4429579Z             {
2026-06-15T08:25:24.4429987Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4430297Z               "line": 190
2026-06-15T08:25:24.4430584Z             },
2026-06-15T08:25:24.4430870Z             {
2026-06-15T08:25:24.4431275Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4431571Z               "line": 208
2026-06-15T08:25:24.4431876Z             },
2026-06-15T08:25:24.4432161Z             {
2026-06-15T08:25:24.4432580Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-15T08:25:24.4432886Z               "line": 221
2026-06-15T08:25:24.4433176Z             }
2026-06-15T08:25:24.4433468Z           ]
2026-06-15T08:25:24.4433744Z         }
2026-06-15T08:25:24.4434031Z       }
2026-06-15T08:25:24.4434308Z     },
2026-06-15T08:25:24.4434592Z     {
2026-06-15T08:25:24.4434900Z       "id": "REQ-EP-3",
2026-06-15T08:25:24.4435544Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-15T08:25:24.4435873Z       "requiredStages": [
2026-06-15T08:25:24.4436168Z         "impl",
2026-06-15T08:25:24.4436464Z         "unit"
2026-06-15T08:25:24.4436744Z       ],
2026-06-15T08:25:24.4437045Z       "stages": {
2026-06-15T08:25:24.4437330Z         "doc": {
2026-06-15T08:25:24.4437652Z           "complete": false,
2026-06-15T08:25:24.4437958Z           "evidence": []
2026-06-15T08:25:24.4438249Z         },
2026-06-15T08:25:24.4438539Z         "impl": {
2026-06-15T08:25:24.4438858Z           "complete": true,
2026-06-15T08:25:24.4439254Z           "evidence": [
2026-06-15T08:25:24.4439540Z             {
2026-06-15T08:25:24.4439963Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4440262Z               "line": 31
2026-06-15T08:25:24.4440552Z             },
2026-06-15T08:25:24.4440834Z             {
2026-06-15T08:25:24.4441253Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4441544Z               "line": 49
2026-06-15T08:25:24.4441830Z             }
2026-06-15T08:25:24.4442122Z           ]
2026-06-15T08:25:24.4442407Z         },
2026-06-15T08:25:24.4442694Z         "int": {
2026-06-15T08:25:24.4443013Z           "complete": false,
2026-06-15T08:25:24.4443318Z           "evidence": []
2026-06-15T08:25:24.4443609Z         },
2026-06-15T08:25:24.4443900Z         "unit": {
2026-06-15T08:25:24.4444220Z           "complete": true,
2026-06-15T08:25:24.4444520Z           "evidence": [
2026-06-15T08:25:24.4444806Z             {
2026-06-15T08:25:24.4445242Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4445532Z               "line": 156
2026-06-15T08:25:24.4445822Z             },
2026-06-15T08:25:24.4446104Z             {
2026-06-15T08:25:24.4446523Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4446833Z               "line": 164
2026-06-15T08:25:24.4447134Z             },
2026-06-15T08:25:24.4447425Z             {
2026-06-15T08:25:24.4447829Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4448132Z               "line": 177
2026-06-15T08:25:24.4448418Z             },
2026-06-15T08:25:24.4448719Z             {
2026-06-15T08:25:24.4449222Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4449528Z               "line": 200
2026-06-15T08:25:24.4449819Z             },
2026-06-15T08:25:24.4450104Z             {
2026-06-15T08:25:24.4450505Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4450812Z               "line": 216
2026-06-15T08:25:24.4451232Z             },
2026-06-15T08:25:24.4451562Z             {
2026-06-15T08:25:24.4451962Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-15T08:25:24.4452258Z               "line": 233
2026-06-15T08:25:24.4452544Z             }
2026-06-15T08:25:24.4452816Z           ]
2026-06-15T08:25:24.4453231Z         }
2026-06-15T08:25:24.4453516Z       }
2026-06-15T08:25:24.4453801Z     },
2026-06-15T08:25:24.4454078Z     {
2026-06-15T08:25:24.4454388Z       "id": "REQ-EP-4",
2026-06-15T08:25:24.4454879Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-15T08:25:24.4455207Z       "requiredStages": [
2026-06-15T08:25:24.4455489Z         "impl",
2026-06-15T08:25:24.4455778Z         "unit"
2026-06-15T08:25:24.4456072Z       ],
2026-06-15T08:25:24.4456373Z       "stages": {
2026-06-15T08:25:24.4456669Z         "doc": {
2026-06-15T08:25:24.4456979Z           "complete": false,
2026-06-15T08:25:24.4457293Z           "evidence": []
2026-06-15T08:25:24.4457574Z         },
2026-06-15T08:25:24.4462207Z         "impl": {
2026-06-15T08:25:24.4462608Z           "complete": true,
2026-06-15T08:25:24.4462918Z           "evidence": [
2026-06-15T08:25:24.4463217Z             {
2026-06-15T08:25:24.4463628Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4463941Z               "line": 717
2026-06-15T08:25:24.4464251Z             },
2026-06-15T08:25:24.4464551Z             {
2026-06-15T08:25:24.4464962Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4465277Z               "line": 1048
2026-06-15T08:25:24.4465568Z             },
2026-06-15T08:25:24.4465858Z             {
2026-06-15T08:25:24.4466282Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4466589Z               "line": 1359
2026-06-15T08:25:24.4466880Z             },
2026-06-15T08:25:24.4467161Z             {
2026-06-15T08:25:24.4467549Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4467873Z               "line": 118
2026-06-15T08:25:24.4468149Z             },
2026-06-15T08:25:24.4468444Z             {
2026-06-15T08:25:24.4468827Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4469220Z               "line": 609
2026-06-15T08:25:24.4469505Z             },
2026-06-15T08:25:24.4469786Z             {
2026-06-15T08:25:24.4470172Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4470477Z               "line": 734
2026-06-15T08:25:24.4470764Z             },
2026-06-15T08:25:24.4471045Z             {
2026-06-15T08:25:24.4471460Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4471768Z               "line": 217
2026-06-15T08:25:24.4472047Z             },
2026-06-15T08:25:24.4472333Z             {
2026-06-15T08:25:24.4472744Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4473049Z               "line": 400
2026-06-15T08:25:24.4473326Z             },
2026-06-15T08:25:24.4473617Z             {
2026-06-15T08:25:24.4474031Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.4474337Z               "line": 1017
2026-06-15T08:25:24.4474626Z             }
2026-06-15T08:25:24.4474917Z           ]
2026-06-15T08:25:24.4475203Z         },
2026-06-15T08:25:24.4475494Z         "int": {
2026-06-15T08:25:24.4475813Z           "complete": false,
2026-06-15T08:25:24.4476137Z           "evidence": []
2026-06-15T08:25:24.4476418Z         },
2026-06-15T08:25:24.4476713Z         "unit": {
2026-06-15T08:25:24.4477026Z           "complete": true,
2026-06-15T08:25:24.4477331Z           "evidence": [
2026-06-15T08:25:24.4477603Z             {
2026-06-15T08:25:24.4477998Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.4478298Z               "line": 825
2026-06-15T08:25:24.4478571Z             },
2026-06-15T08:25:24.4478861Z             {
2026-06-15T08:25:24.4479368Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-15T08:25:24.4479671Z               "line": 76
2026-06-15T08:25:24.4480113Z             },
2026-06-15T08:25:24.4480403Z             {
2026-06-15T08:25:24.4480846Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-15T08:25:24.4481137Z               "line": 147
2026-06-15T08:25:24.4481423Z             }
2026-06-15T08:25:24.4481701Z           ]
2026-06-15T08:25:24.4482086Z         }
2026-06-15T08:25:24.4482365Z       }
2026-06-15T08:25:24.4482651Z     },
2026-06-15T08:25:24.4482937Z     {
2026-06-15T08:25:24.4483233Z       "id": "REQ-EP-5",
2026-06-15T08:25:24.4485568Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-15T08:25:24.4485892Z       "requiredStages": [
2026-06-15T08:25:24.4486202Z         "impl",
2026-06-15T08:25:24.4486493Z         "unit",
2026-06-15T08:25:24.4486779Z         "int"
2026-06-15T08:25:24.4487075Z       ],
2026-06-15T08:25:24.4487374Z       "stages": {
2026-06-15T08:25:24.4487666Z         "doc": {
2026-06-15T08:25:24.4487981Z           "complete": false,
2026-06-15T08:25:24.4488291Z           "evidence": []
2026-06-15T08:25:24.4488577Z         },
2026-06-15T08:25:24.4488859Z         "impl": {
2026-06-15T08:25:24.4489259Z           "complete": true,
2026-06-15T08:25:24.4489574Z           "evidence": [
2026-06-15T08:25:24.4489865Z             {
2026-06-15T08:25:24.4490312Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.4490620Z               "line": 367
2026-06-15T08:25:24.4490916Z             },
2026-06-15T08:25:24.4491197Z             {
2026-06-15T08:25:24.4491612Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4491909Z               "line": 18
2026-06-15T08:25:24.4492194Z             },
2026-06-15T08:25:24.4492476Z             {
2026-06-15T08:25:24.4492897Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4493206Z               "line": 63
2026-06-15T08:25:24.4493497Z             },
2026-06-15T08:25:24.4493783Z             {
2026-06-15T08:25:24.4494207Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4494512Z               "line": 92
2026-06-15T08:25:24.4494799Z             },
2026-06-15T08:25:24.4495086Z             {
2026-06-15T08:25:24.4495508Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4495809Z               "line": 167
2026-06-15T08:25:24.4496090Z             },
2026-06-15T08:25:24.4496381Z             {
2026-06-15T08:25:24.4496804Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4497105Z               "line": 179
2026-06-15T08:25:24.4497392Z             },
2026-06-15T08:25:24.4497669Z             {
2026-06-15T08:25:24.4498080Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.4498376Z               "line": 114
2026-06-15T08:25:24.4498657Z             },
2026-06-15T08:25:24.4499028Z             {
2026-06-15T08:25:24.4499438Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4499748Z               "line": 22
2026-06-15T08:25:24.4500034Z             },
2026-06-15T08:25:24.4500325Z             {
2026-06-15T08:25:24.4500743Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4501046Z               "line": 145
2026-06-15T08:25:24.4501341Z             },
2026-06-15T08:25:24.4501633Z             {
2026-06-15T08:25:24.4502043Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4502353Z               "line": 174
2026-06-15T08:25:24.4502639Z             },
2026-06-15T08:25:24.4502925Z             {
2026-06-15T08:25:24.4503338Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4503650Z               "line": 196
2026-06-15T08:25:24.4503932Z             },
2026-06-15T08:25:24.4504223Z             {
2026-06-15T08:25:24.4504629Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4505044Z               "line": 221
2026-06-15T08:25:24.4505326Z             },
2026-06-15T08:25:24.4505607Z             {
2026-06-15T08:25:24.4506026Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4506345Z               "line": 247
2026-06-15T08:25:24.4506631Z             },
2026-06-15T08:25:24.4507027Z             {
2026-06-15T08:25:24.4507436Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4507737Z               "line": 270
2026-06-15T08:25:24.4508013Z             },
2026-06-15T08:25:24.4508304Z             {
2026-06-15T08:25:24.4508706Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.4509082Z               "line": 100
2026-06-15T08:25:24.4509373Z             },
2026-06-15T08:25:24.4509650Z             {
2026-06-15T08:25:24.4509998Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4510299Z               "line": 5198
2026-06-15T08:25:24.4510589Z             },
2026-06-15T08:25:24.4510880Z             {
2026-06-15T08:25:24.4511223Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4511531Z               "line": 5332
2026-06-15T08:25:24.4511817Z             },
2026-06-15T08:25:24.4512103Z             {
2026-06-15T08:25:24.4512455Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4512775Z               "line": 5498
2026-06-15T08:25:24.4513062Z             },
2026-06-15T08:25:24.4513353Z             {
2026-06-15T08:25:24.4513715Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4514014Z               "line": 5880
2026-06-15T08:25:24.4514302Z             }
2026-06-15T08:25:24.4514583Z           ]
2026-06-15T08:25:24.4514864Z         },
2026-06-15T08:25:24.4515160Z         "int": {
2026-06-15T08:25:24.4515475Z           "complete": true,
2026-06-15T08:25:24.4515785Z           "evidence": [
2026-06-15T08:25:24.4516066Z             {
2026-06-15T08:25:24.4516501Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-15T08:25:24.4516809Z               "line": 16
2026-06-15T08:25:24.4517100Z             },
2026-06-15T08:25:24.4517390Z             {
2026-06-15T08:25:24.4517777Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-15T08:25:24.4518083Z               "line": 15
2026-06-15T08:25:24.4518378Z             }
2026-06-15T08:25:24.4518669Z           ]
2026-06-15T08:25:24.4519025Z         },
2026-06-15T08:25:24.4519318Z         "unit": {
2026-06-15T08:25:24.4519637Z           "complete": true,
2026-06-15T08:25:24.4519938Z           "evidence": [
2026-06-15T08:25:24.4520229Z             {
2026-06-15T08:25:24.4520649Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4520959Z               "line": 246
2026-06-15T08:25:24.4521240Z             },
2026-06-15T08:25:24.4521531Z             {
2026-06-15T08:25:24.4521940Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4522238Z               "line": 306
2026-06-15T08:25:24.4522519Z             },
2026-06-15T08:25:24.4522819Z             {
2026-06-15T08:25:24.4523236Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-15T08:25:24.4523541Z               "line": 363
2026-06-15T08:25:24.4523817Z             },
2026-06-15T08:25:24.4524098Z             {
2026-06-15T08:25:24.4524512Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4524829Z               "line": 286
2026-06-15T08:25:24.4525129Z             },
2026-06-15T08:25:24.4525429Z             {
2026-06-15T08:25:24.4525869Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.4526179Z               "line": 338
2026-06-15T08:25:24.4526465Z             },
2026-06-15T08:25:24.4526756Z             {
2026-06-15T08:25:24.4527166Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.4527460Z               "line": 657
2026-06-15T08:25:24.4527752Z             },
2026-06-15T08:25:24.4528028Z             {
2026-06-15T08:25:24.4528372Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4528804Z               "line": 7033
2026-06-15T08:25:24.4529157Z             },
2026-06-15T08:25:24.4529457Z             {
2026-06-15T08:25:24.4529817Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4530141Z               "line": 7160
2026-06-15T08:25:24.4530446Z             },
2026-06-15T08:25:24.4530836Z             {
2026-06-15T08:25:24.4531195Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4531495Z               "line": 7749
2026-06-15T08:25:24.4531777Z             },
2026-06-15T08:25:24.4532048Z             {
2026-06-15T08:25:24.4532414Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4532726Z               "line": 7865
2026-06-15T08:25:24.4533008Z             }
2026-06-15T08:25:24.4533290Z           ]
2026-06-15T08:25:24.4533571Z         }
2026-06-15T08:25:24.4533848Z       }
2026-06-15T08:25:24.4534130Z     },
2026-06-15T08:25:24.4534411Z     {
2026-06-15T08:25:24.4534716Z       "id": "REQ-EP-6",
2026-06-15T08:25:24.4539528Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-15T08:25:24.4539881Z       "requiredStages": [
2026-06-15T08:25:24.4540169Z         "doc",
2026-06-15T08:25:24.4540448Z         "impl",
2026-06-15T08:25:24.4540744Z         "unit"
2026-06-15T08:25:24.4541025Z       ],
2026-06-15T08:25:24.4541325Z       "stages": {
2026-06-15T08:25:24.4541603Z         "doc": {
2026-06-15T08:25:24.4541922Z           "complete": true,
2026-06-15T08:25:24.4542227Z           "evidence": [
2026-06-15T08:25:24.4556437Z             {
2026-06-15T08:25:24.4556814Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.4557134Z               "line": 208
2026-06-15T08:25:24.4557415Z             }
2026-06-15T08:25:24.4557677Z           ]
2026-06-15T08:25:24.4557954Z         },
2026-06-15T08:25:24.4558221Z         "impl": {
2026-06-15T08:25:24.4558531Z           "complete": true,
2026-06-15T08:25:24.4558818Z           "evidence": [
2026-06-15T08:25:24.4559184Z             {
2026-06-15T08:25:24.4559574Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.4559852Z               "line": 174
2026-06-15T08:25:24.4560123Z             }
2026-06-15T08:25:24.4560400Z           ]
2026-06-15T08:25:24.4560667Z         },
2026-06-15T08:25:24.4560943Z         "int": {
2026-06-15T08:25:24.4561232Z           "complete": true,
2026-06-15T08:25:24.4561531Z           "evidence": [
2026-06-15T08:25:24.4561793Z             {
2026-06-15T08:25:24.4562198Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-15T08:25:24.4562488Z               "line": 18
2026-06-15T08:25:24.4562756Z             }
2026-06-15T08:25:24.4563037Z           ]
2026-06-15T08:25:24.4563291Z         },
2026-06-15T08:25:24.4563563Z         "unit": {
2026-06-15T08:25:24.4563863Z           "complete": true,
2026-06-15T08:25:24.4564157Z           "evidence": [
2026-06-15T08:25:24.4564417Z             {
2026-06-15T08:25:24.4564832Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.4565132Z               "line": 528
2026-06-15T08:25:24.4565399Z             },
2026-06-15T08:25:24.4565671Z             {
2026-06-15T08:25:24.4566038Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.4566329Z               "line": 624
2026-06-15T08:25:24.4566595Z             }
2026-06-15T08:25:24.4566860Z           ]
2026-06-15T08:25:24.4567132Z         }
2026-06-15T08:25:24.4567394Z       }
2026-06-15T08:25:24.4567665Z     },
2026-06-15T08:25:24.4567927Z     {
2026-06-15T08:25:24.4568228Z       "id": "REQ-EP-7",
2026-06-15T08:25:24.4573688Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-15T08:25:24.4574500Z       "requiredStages": [
2026-06-15T08:25:24.4574812Z         "doc",
2026-06-15T08:25:24.4575106Z         "impl",
2026-06-15T08:25:24.4575378Z         "unit"
2026-06-15T08:25:24.4575654Z       ],
2026-06-15T08:25:24.4575930Z       "stages": {
2026-06-15T08:25:24.4576212Z         "doc": {
2026-06-15T08:25:24.4576512Z           "complete": true,
2026-06-15T08:25:24.4576807Z           "evidence": [
2026-06-15T08:25:24.4577075Z             {
2026-06-15T08:25:24.4577388Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.4577682Z               "line": 432
2026-06-15T08:25:24.4577959Z             }
2026-06-15T08:25:24.4578230Z           ]
2026-06-15T08:25:24.4578492Z         },
2026-06-15T08:25:24.4578769Z         "impl": {
2026-06-15T08:25:24.4579141Z           "complete": true,
2026-06-15T08:25:24.4579436Z           "evidence": [
2026-06-15T08:25:24.4579718Z             {
2026-06-15T08:25:24.4580093Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.4580394Z               "line": 505
2026-06-15T08:25:24.4580675Z             },
2026-06-15T08:25:24.4580948Z             {
2026-06-15T08:25:24.4581324Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.4581610Z               "line": 87
2026-06-15T08:25:24.4581878Z             },
2026-06-15T08:25:24.4582145Z             {
2026-06-15T08:25:24.4582561Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4582842Z               "line": 81
2026-06-15T08:25:24.4583119Z             },
2026-06-15T08:25:24.4583391Z             {
2026-06-15T08:25:24.4583824Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4584124Z               "line": 166
2026-06-15T08:25:24.4584402Z             },
2026-06-15T08:25:24.4584674Z             {
2026-06-15T08:25:24.4585003Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4585315Z               "line": 1440
2026-06-15T08:25:24.4585570Z             }
2026-06-15T08:25:24.4585842Z           ]
2026-06-15T08:25:24.4586124Z         },
2026-06-15T08:25:24.4586396Z         "int": {
2026-06-15T08:25:24.4586705Z           "complete": false,
2026-06-15T08:25:24.4587020Z           "evidence": []
2026-06-15T08:25:24.4587293Z         },
2026-06-15T08:25:24.4587574Z         "unit": {
2026-06-15T08:25:24.4587877Z           "complete": true,
2026-06-15T08:25:24.4588176Z           "evidence": [
2026-06-15T08:25:24.4588446Z             {
2026-06-15T08:25:24.4588810Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.4589192Z               "line": 623
2026-06-15T08:25:24.4589488Z             },
2026-06-15T08:25:24.4589759Z             {
2026-06-15T08:25:24.4590137Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.4590427Z               "line": 212
2026-06-15T08:25:24.4590691Z             },
2026-06-15T08:25:24.4590978Z             {
2026-06-15T08:25:24.4591355Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.4591650Z               "line": 307
2026-06-15T08:25:24.4591912Z             },
2026-06-15T08:25:24.4592180Z             {
2026-06-15T08:25:24.4592508Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4592799Z               "line": 6220
2026-06-15T08:25:24.4593074Z             },
2026-06-15T08:25:24.4593345Z             {
2026-06-15T08:25:24.4593689Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4593975Z               "line": 6247
2026-06-15T08:25:24.4594246Z             }
2026-06-15T08:25:24.4594656Z           ]
2026-06-15T08:25:24.4594924Z         }
2026-06-15T08:25:24.4595190Z       }
2026-06-15T08:25:24.4595457Z     },
2026-06-15T08:25:24.4595723Z     {
2026-06-15T08:25:24.4596021Z       "id": "REQ-FRONT-1",
2026-06-15T08:25:24.4596608Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-15T08:25:24.4597022Z       "requiredStages": [],
2026-06-15T08:25:24.4597294Z       "stages": {
2026-06-15T08:25:24.4597562Z         "doc": {
2026-06-15T08:25:24.4597858Z           "complete": false,
2026-06-15T08:25:24.4598144Z           "evidence": []
2026-06-15T08:25:24.4598409Z         },
2026-06-15T08:25:24.4598687Z         "impl": {
2026-06-15T08:25:24.4599074Z           "complete": false,
2026-06-15T08:25:24.4599370Z           "evidence": []
2026-06-15T08:25:24.4599641Z         },
2026-06-15T08:25:24.4599903Z         "int": {
2026-06-15T08:25:24.4600209Z           "complete": false,
2026-06-15T08:25:24.4600485Z           "evidence": []
2026-06-15T08:25:24.4600758Z         },
2026-06-15T08:25:24.4601040Z         "unit": {
2026-06-15T08:25:24.4601343Z           "complete": false,
2026-06-15T08:25:24.4601638Z           "evidence": []
2026-06-15T08:25:24.4601895Z         }
2026-06-15T08:25:24.4602172Z       }
2026-06-15T08:25:24.4602425Z     },
2026-06-15T08:25:24.4602683Z     {
2026-06-15T08:25:24.4603054Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-15T08:25:24.4610942Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-15T08:25:24.4611276Z       "requiredStages": [
2026-06-15T08:25:24.4611552Z         "doc",
2026-06-15T08:25:24.4611836Z         "impl",
2026-06-15T08:25:24.4612108Z         "unit",
2026-06-15T08:25:24.4612384Z         "int"
2026-06-15T08:25:24.4612648Z       ],
2026-06-15T08:25:24.4612938Z       "stages": {
2026-06-15T08:25:24.4613215Z         "doc": {
2026-06-15T08:25:24.4613516Z           "complete": true,
2026-06-15T08:25:24.4613797Z           "evidence": [
2026-06-15T08:25:24.4614081Z             {
2026-06-15T08:25:24.4614441Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.4614722Z               "line": 326
2026-06-15T08:25:24.4614998Z             }
2026-06-15T08:25:24.4615270Z           ]
2026-06-15T08:25:24.4615547Z         },
2026-06-15T08:25:24.4615838Z         "impl": {
2026-06-15T08:25:24.4616143Z           "complete": true,
2026-06-15T08:25:24.4616439Z           "evidence": [
2026-06-15T08:25:24.4616712Z             {
2026-06-15T08:25:24.4617127Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4617423Z               "line": 480
2026-06-15T08:25:24.4617709Z             },
2026-06-15T08:25:24.4617981Z             {
2026-06-15T08:25:24.4618386Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4618691Z               "line": 485
2026-06-15T08:25:24.4619048Z             },
2026-06-15T08:25:24.4619382Z             {
2026-06-15T08:25:24.4619817Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4620117Z               "line": 860
2026-06-15T08:25:24.4620390Z             },
2026-06-15T08:25:24.4620666Z             {
2026-06-15T08:25:24.4621076Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4621362Z               "line": 901
2026-06-15T08:25:24.4621764Z             },
2026-06-15T08:25:24.4622040Z             {
2026-06-15T08:25:24.4622453Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4622749Z               "line": 912
2026-06-15T08:25:24.4623011Z             },
2026-06-15T08:25:24.4623273Z             {
2026-06-15T08:25:24.4623669Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.4624066Z               "line": 358
2026-06-15T08:25:24.4624343Z             }
2026-06-15T08:25:24.4624616Z           ]
2026-06-15T08:25:24.4624882Z         },
2026-06-15T08:25:24.4625158Z         "int": {
2026-06-15T08:25:24.4625454Z           "complete": true,
2026-06-15T08:25:24.4625740Z           "evidence": [
2026-06-15T08:25:24.4626003Z             {
2026-06-15T08:25:24.4626436Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-15T08:25:24.4626731Z               "line": 30
2026-06-15T08:25:24.4627004Z             }
2026-06-15T08:25:24.4627272Z           ]
2026-06-15T08:25:24.4627546Z         },
2026-06-15T08:25:24.4627815Z         "unit": {
2026-06-15T08:25:24.4628115Z           "complete": true,
2026-06-15T08:25:24.4628412Z           "evidence": [
2026-06-15T08:25:24.4628688Z             {
2026-06-15T08:25:24.4629171Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4629467Z               "line": 1453
2026-06-15T08:25:24.4629753Z             },
2026-06-15T08:25:24.4630017Z             {
2026-06-15T08:25:24.4630425Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4630716Z               "line": 1478
2026-06-15T08:25:24.4630997Z             },
2026-06-15T08:25:24.4631274Z             {
2026-06-15T08:25:24.4631680Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4631975Z               "line": 1495
2026-06-15T08:25:24.4632237Z             },
2026-06-15T08:25:24.4632513Z             {
2026-06-15T08:25:24.4632918Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4633223Z               "line": 1538
2026-06-15T08:25:24.4633495Z             }
2026-06-15T08:25:24.4633753Z           ]
2026-06-15T08:25:24.4634030Z         }
2026-06-15T08:25:24.4634302Z       }
2026-06-15T08:25:24.4634569Z     },
2026-06-15T08:25:24.4634825Z     {
2026-06-15T08:25:24.4635220Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-15T08:25:24.4643346Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-15T08:25:24.4643670Z       "requiredStages": [
2026-06-15T08:25:24.4643937Z         "doc",
2026-06-15T08:25:24.4644218Z         "impl",
2026-06-15T08:25:24.4644499Z         "unit",
2026-06-15T08:25:24.4644780Z         "int"
2026-06-15T08:25:24.4645042Z       ],
2026-06-15T08:25:24.4645318Z       "stages": {
2026-06-15T08:25:24.4645610Z         "doc": {
2026-06-15T08:25:24.4645903Z           "complete": true,
2026-06-15T08:25:24.4646203Z           "evidence": [
2026-06-15T08:25:24.4646475Z             {
2026-06-15T08:25:24.4646837Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.4647138Z               "line": 295
2026-06-15T08:25:24.4647409Z             }
2026-06-15T08:25:24.4647691Z           ]
2026-06-15T08:25:24.4647952Z         },
2026-06-15T08:25:24.4648238Z         "impl": {
2026-06-15T08:25:24.4648667Z           "complete": true,
2026-06-15T08:25:24.4649032Z           "evidence": [
2026-06-15T08:25:24.4649308Z             {
2026-06-15T08:25:24.4649713Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.4650005Z               "line": 108
2026-06-15T08:25:24.4650282Z             },
2026-06-15T08:25:24.4650700Z             {
2026-06-15T08:25:24.4651072Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4651369Z               "line": 794
2026-06-15T08:25:24.4651647Z             },
2026-06-15T08:25:24.4651913Z             {
2026-06-15T08:25:24.4652295Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.4652576Z               "line": 994
2026-06-15T08:25:24.4652858Z             },
2026-06-15T08:25:24.4653129Z             {
2026-06-15T08:25:24.4653535Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4653831Z               "line": 23
2026-06-15T08:25:24.4654100Z             },
2026-06-15T08:25:24.4654386Z             {
2026-06-15T08:25:24.4654778Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4655079Z               "line": 113
2026-06-15T08:25:24.4655345Z             },
2026-06-15T08:25:24.4655626Z             {
2026-06-15T08:25:24.4656033Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4656331Z               "line": 158
2026-06-15T08:25:24.4656614Z             },
2026-06-15T08:25:24.4656886Z             {
2026-06-15T08:25:24.4657302Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4657597Z               "line": 215
2026-06-15T08:25:24.4657873Z             },
2026-06-15T08:25:24.4658150Z             {
2026-06-15T08:25:24.4658551Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4658847Z               "line": 247
2026-06-15T08:25:24.4659203Z             },
2026-06-15T08:25:24.4659491Z             {
2026-06-15T08:25:24.4659902Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4660184Z               "line": 261
2026-06-15T08:25:24.4660455Z             },
2026-06-15T08:25:24.4660716Z             {
2026-06-15T08:25:24.4661128Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4661423Z               "line": 306
2026-06-15T08:25:24.4661698Z             },
2026-06-15T08:25:24.4661982Z             {
2026-06-15T08:25:24.4662387Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4662687Z               "line": 333
2026-06-15T08:25:24.4662949Z             },
2026-06-15T08:25:24.4663227Z             {
2026-06-15T08:25:24.4663622Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4663922Z               "line": 345
2026-06-15T08:25:24.4664199Z             },
2026-06-15T08:25:24.4664461Z             {
2026-06-15T08:25:24.4664870Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4665166Z               "line": 359
2026-06-15T08:25:24.4665448Z             },
2026-06-15T08:25:24.4665715Z             {
2026-06-15T08:25:24.4666125Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4666434Z               "line": 386
2026-06-15T08:25:24.4666715Z             },
2026-06-15T08:25:24.4666995Z             {
2026-06-15T08:25:24.4667385Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4667685Z               "line": 629
2026-06-15T08:25:24.4667953Z             },
2026-06-15T08:25:24.4668229Z             {
2026-06-15T08:25:24.4668639Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4668925Z               "line": 958
2026-06-15T08:25:24.4669306Z             },
2026-06-15T08:25:24.4669588Z             {
2026-06-15T08:25:24.4669984Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4670276Z               "line": 178
2026-06-15T08:25:24.4670558Z             },
2026-06-15T08:25:24.4670829Z             {
2026-06-15T08:25:24.4671220Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4671639Z               "line": 590
2026-06-15T08:25:24.4671907Z             },
2026-06-15T08:25:24.4672187Z             {
2026-06-15T08:25:24.4672585Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4672875Z               "line": 662
2026-06-15T08:25:24.4673247Z             },
2026-06-15T08:25:24.4673514Z             {
2026-06-15T08:25:24.4673910Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4674197Z               "line": 674
2026-06-15T08:25:24.4674473Z             },
2026-06-15T08:25:24.4674744Z             {
2026-06-15T08:25:24.4675149Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4675445Z               "line": 1084
2026-06-15T08:25:24.4675716Z             },
2026-06-15T08:25:24.4675994Z             {
2026-06-15T08:25:24.4676384Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4676685Z               "line": 181
2026-06-15T08:25:24.4676975Z             },
2026-06-15T08:25:24.4677248Z             {
2026-06-15T08:25:24.4677649Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4677935Z               "line": 223
2026-06-15T08:25:24.4678222Z             },
2026-06-15T08:25:24.4678484Z             {
2026-06-15T08:25:24.4678880Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4679299Z               "line": 234
2026-06-15T08:25:24.4679609Z             },
2026-06-15T08:25:24.4679880Z             {
2026-06-15T08:25:24.4680265Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4680554Z               "line": 260
2026-06-15T08:25:24.4680817Z             },
2026-06-15T08:25:24.4681089Z             {
2026-06-15T08:25:24.4681503Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4681785Z               "line": 56
2026-06-15T08:25:24.4682071Z             },
2026-06-15T08:25:24.4682339Z             {
2026-06-15T08:25:24.4682743Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4683046Z               "line": 188
2026-06-15T08:25:24.4683327Z             },
2026-06-15T08:25:24.4683599Z             {
2026-06-15T08:25:24.4683994Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-15T08:25:24.4684280Z               "line": 63
2026-06-15T08:25:24.4684567Z             },
2026-06-15T08:25:24.4684834Z             {
2026-06-15T08:25:24.4685230Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4685511Z               "line": 258
2026-06-15T08:25:24.4685786Z             },
2026-06-15T08:25:24.4686062Z             {
2026-06-15T08:25:24.4686454Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.4686744Z               "line": 424
2026-06-15T08:25:24.4687015Z             },
2026-06-15T08:25:24.4687292Z             {
2026-06-15T08:25:24.4687636Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.4687939Z               "line": 1745
2026-06-15T08:25:24.4688209Z             }
2026-06-15T08:25:24.4688491Z           ]
2026-06-15T08:25:24.4688754Z         },
2026-06-15T08:25:24.4689130Z         "int": {
2026-06-15T08:25:24.4689426Z           "complete": true,
2026-06-15T08:25:24.4689716Z           "evidence": [
2026-06-15T08:25:24.4689994Z             {
2026-06-15T08:25:24.4690393Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-15T08:25:24.4690684Z               "line": 57
2026-06-15T08:25:24.4690964Z             },
2026-06-15T08:25:24.4691244Z             {
2026-06-15T08:25:24.4691616Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-15T08:25:24.4691902Z               "line": 41
2026-06-15T08:25:24.4692168Z             }
2026-06-15T08:25:24.4692435Z           ]
2026-06-15T08:25:24.4692712Z         },
2026-06-15T08:25:24.4692993Z         "unit": {
2026-06-15T08:25:24.4693298Z           "complete": true,
2026-06-15T08:25:24.4693587Z           "evidence": [
2026-06-15T08:25:24.4693859Z             {
2026-06-15T08:25:24.4694387Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.4694682Z               "line": 532
2026-06-15T08:25:24.4694964Z             },
2026-06-15T08:25:24.4695236Z             {
2026-06-15T08:25:24.4695641Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.4695946Z               "line": 755
2026-06-15T08:25:24.4696346Z             },
2026-06-15T08:25:24.4696626Z             {
2026-06-15T08:25:24.4697029Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4697319Z               "line": 1027
2026-06-15T08:25:24.4697590Z             },
2026-06-15T08:25:24.4697867Z             {
2026-06-15T08:25:24.4698278Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4698567Z               "line": 1061
2026-06-15T08:25:24.4698845Z             },
2026-06-15T08:25:24.4699208Z             {
2026-06-15T08:25:24.4699614Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4699920Z               "line": 1103
2026-06-15T08:25:24.4700186Z             },
2026-06-15T08:25:24.4700472Z             {
2026-06-15T08:25:24.4700855Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4701155Z               "line": 1175
2026-06-15T08:25:24.4701429Z             },
2026-06-15T08:25:24.4701712Z             {
2026-06-15T08:25:24.4702124Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4702424Z               "line": 1188
2026-06-15T08:25:24.4706641Z             },
2026-06-15T08:25:24.4706969Z             {
2026-06-15T08:25:24.4707439Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4707736Z               "line": 1211
2026-06-15T08:25:24.4708017Z             },
2026-06-15T08:25:24.4708294Z             {
2026-06-15T08:25:24.4708708Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4709107Z               "line": 1237
2026-06-15T08:25:24.4709396Z             },
2026-06-15T08:25:24.4709749Z             {
2026-06-15T08:25:24.4710165Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4710465Z               "line": 1251
2026-06-15T08:25:24.4710732Z             },
2026-06-15T08:25:24.4710998Z             {
2026-06-15T08:25:24.4711405Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4711710Z               "line": 1275
2026-06-15T08:25:24.4711989Z             },
2026-06-15T08:25:24.4712263Z             {
2026-06-15T08:25:24.4712669Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4712970Z               "line": 1407
2026-06-15T08:25:24.4713245Z             },
2026-06-15T08:25:24.4713522Z             {
2026-06-15T08:25:24.4713928Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4714219Z               "line": 1583
2026-06-15T08:25:24.4714484Z             },
2026-06-15T08:25:24.4714759Z             {
2026-06-15T08:25:24.4715173Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4715459Z               "line": 1638
2026-06-15T08:25:24.4715731Z             },
2026-06-15T08:25:24.4715999Z             {
2026-06-15T08:25:24.4716404Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4716695Z               "line": 1684
2026-06-15T08:25:24.4716985Z             },
2026-06-15T08:25:24.4717257Z             {
2026-06-15T08:25:24.4717657Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4717948Z               "line": 1729
2026-06-15T08:25:24.4718215Z             },
2026-06-15T08:25:24.4718478Z             {
2026-06-15T08:25:24.4718882Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4719259Z               "line": 1773
2026-06-15T08:25:24.4719582Z             },
2026-06-15T08:25:24.4719848Z             {
2026-06-15T08:25:24.4720256Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.4720538Z               "line": 1815
2026-06-15T08:25:24.4720968Z             },
2026-06-15T08:25:24.4721229Z             {
2026-06-15T08:25:24.4721622Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4721912Z               "line": 1418
2026-06-15T08:25:24.4722188Z             },
2026-06-15T08:25:24.4722464Z             {
2026-06-15T08:25:24.4722861Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4723268Z               "line": 217
2026-06-15T08:25:24.4723544Z             },
2026-06-15T08:25:24.4723810Z             {
2026-06-15T08:25:24.4724212Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4724498Z               "line": 233
2026-06-15T08:25:24.4724779Z             },
2026-06-15T08:25:24.4725035Z             {
2026-06-15T08:25:24.4725428Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4725719Z               "line": 254
2026-06-15T08:25:24.4726000Z             },
2026-06-15T08:25:24.4726273Z             {
2026-06-15T08:25:24.4726673Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4726969Z               "line": 265
2026-06-15T08:25:24.4727240Z             },
2026-06-15T08:25:24.4727512Z             {
2026-06-15T08:25:24.4727912Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4728208Z               "line": 278
2026-06-15T08:25:24.4728489Z             },
2026-06-15T08:25:24.4728751Z             {
2026-06-15T08:25:24.4729256Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4729542Z               "line": 289
2026-06-15T08:25:24.4729809Z             },
2026-06-15T08:25:24.4730081Z             {
2026-06-15T08:25:24.4730478Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4730770Z               "line": 301
2026-06-15T08:25:24.4731042Z             },
2026-06-15T08:25:24.4731304Z             {
2026-06-15T08:25:24.4731685Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4731971Z               "line": 312
2026-06-15T08:25:24.4732253Z             },
2026-06-15T08:25:24.4732520Z             {
2026-06-15T08:25:24.4732911Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4733200Z               "line": 323
2026-06-15T08:25:24.4733475Z             },
2026-06-15T08:25:24.4733741Z             {
2026-06-15T08:25:24.4734133Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4734433Z               "line": 332
2026-06-15T08:25:24.4734704Z             },
2026-06-15T08:25:24.4734971Z             {
2026-06-15T08:25:24.4735369Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4735656Z               "line": 342
2026-06-15T08:25:24.4735926Z             },
2026-06-15T08:25:24.4736193Z             {
2026-06-15T08:25:24.4736594Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-15T08:25:24.4736885Z               "line": 358
2026-06-15T08:25:24.4737152Z             },
2026-06-15T08:25:24.4737424Z             {
2026-06-15T08:25:24.4737838Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4738129Z               "line": 708
2026-06-15T08:25:24.4738405Z             },
2026-06-15T08:25:24.4738678Z             {
2026-06-15T08:25:24.4739148Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4739440Z               "line": 744
2026-06-15T08:25:24.4739707Z             },
2026-06-15T08:25:24.4739988Z             {
2026-06-15T08:25:24.4740364Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.4740660Z               "line": 951
2026-06-15T08:25:24.4740935Z             },
2026-06-15T08:25:24.4741206Z             {
2026-06-15T08:25:24.4741606Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-15T08:25:24.4741893Z               "line": 143
2026-06-15T08:25:24.4742169Z             },
2026-06-15T08:25:24.4742442Z             {
2026-06-15T08:25:24.4742832Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-15T08:25:24.4743128Z               "line": 222
2026-06-15T08:25:24.4743509Z             },
2026-06-15T08:25:24.4743774Z             {
2026-06-15T08:25:24.4744169Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-15T08:25:24.4744459Z               "line": 291
2026-06-15T08:25:24.4744736Z             },
2026-06-15T08:25:24.4745003Z             {
2026-06-15T08:25:24.4745517Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-15T08:25:24.4745798Z               "line": 17
2026-06-15T08:25:24.4746075Z             },
2026-06-15T08:25:24.4746337Z             {
2026-06-15T08:25:24.4746726Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-15T08:25:24.4747016Z               "line": 104
2026-06-15T08:25:24.4747279Z             }
2026-06-15T08:25:24.4747556Z           ]
2026-06-15T08:25:24.4747821Z         }
2026-06-15T08:25:24.4748098Z       }
2026-06-15T08:25:24.4748351Z     },
2026-06-15T08:25:24.4748627Z     {
2026-06-15T08:25:24.4749060Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-15T08:25:24.4749666Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-15T08:25:24.4749976Z       "requiredStages": [
2026-06-15T08:25:24.4750248Z         "impl",
2026-06-15T08:25:24.4750529Z         "unit"
2026-06-15T08:25:24.4750793Z       ],
2026-06-15T08:25:24.4751069Z       "stages": {
2026-06-15T08:25:24.4751343Z         "doc": {
2026-06-15T08:25:24.4751655Z           "complete": false,
2026-06-15T08:25:24.4751951Z           "evidence": []
2026-06-15T08:25:24.4752218Z         },
2026-06-15T08:25:24.4752500Z         "impl": {
2026-06-15T08:25:24.4752791Z           "complete": true,
2026-06-15T08:25:24.4753086Z           "evidence": [
2026-06-15T08:25:24.4753359Z             {
2026-06-15T08:25:24.4753758Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.4754050Z               "line": 168
2026-06-15T08:25:24.4754315Z             },
2026-06-15T08:25:24.4754595Z             {
2026-06-15T08:25:24.4754963Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.4755258Z               "line": 18
2026-06-15T08:25:24.4755524Z             },
2026-06-15T08:25:24.4755786Z             {
2026-06-15T08:25:24.4756159Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.4756440Z               "line": 98
2026-06-15T08:25:24.4756720Z             }
2026-06-15T08:25:24.4756995Z           ]
2026-06-15T08:25:24.4757253Z         },
2026-06-15T08:25:24.4757534Z         "int": {
2026-06-15T08:25:24.4757839Z           "complete": false,
2026-06-15T08:25:24.4758135Z           "evidence": []
2026-06-15T08:25:24.4758401Z         },
2026-06-15T08:25:24.4758678Z         "unit": {
2026-06-15T08:25:24.4759070Z           "complete": true,
2026-06-15T08:25:24.4759361Z           "evidence": [
2026-06-15T08:25:24.4759635Z             {
2026-06-15T08:25:24.4760026Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.4760322Z               "line": 731
2026-06-15T08:25:24.4760588Z             },
2026-06-15T08:25:24.4760874Z             {
2026-06-15T08:25:24.4761247Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.4761547Z               "line": 159
2026-06-15T08:25:24.4761828Z             },
2026-06-15T08:25:24.4762102Z             {
2026-06-15T08:25:24.4762464Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.4762750Z               "line": 231
2026-06-15T08:25:24.4763027Z             }
2026-06-15T08:25:24.4763289Z           ]
2026-06-15T08:25:24.4763567Z         }
2026-06-15T08:25:24.4763828Z       }
2026-06-15T08:25:24.4764080Z     },
2026-06-15T08:25:24.4764352Z     {
2026-06-15T08:25:24.4764714Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-15T08:25:24.4766185Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-15T08:25:24.4766486Z       "requiredStages": [
2026-06-15T08:25:24.4766815Z         "impl",
2026-06-15T08:25:24.4767125Z         "unit"
2026-06-15T08:25:24.4767513Z       ],
2026-06-15T08:25:24.4767798Z       "stages": {
2026-06-15T08:25:24.4768075Z         "doc": {
2026-06-15T08:25:24.4768395Z           "complete": true,
2026-06-15T08:25:24.4768690Z           "evidence": [
2026-06-15T08:25:24.4769039Z             {
2026-06-15T08:25:24.4769429Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.4769843Z               "line": 220
2026-06-15T08:25:24.4770114Z             }
2026-06-15T08:25:24.4770397Z           ]
2026-06-15T08:25:24.4770668Z         },
2026-06-15T08:25:24.4770954Z         "impl": {
2026-06-15T08:25:24.4771245Z           "complete": true,
2026-06-15T08:25:24.4771536Z           "evidence": [
2026-06-15T08:25:24.4771816Z             {
2026-06-15T08:25:24.4772242Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.4772550Z               "line": 305
2026-06-15T08:25:24.4772828Z             },
2026-06-15T08:25:24.4773110Z             {
2026-06-15T08:25:24.4773554Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.4773850Z               "line": 257
2026-06-15T08:25:24.4774127Z             },
2026-06-15T08:25:24.4774408Z             {
2026-06-15T08:25:24.4774799Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.4775095Z               "line": 405
2026-06-15T08:25:24.4775369Z             },
2026-06-15T08:25:24.4775638Z             {
2026-06-15T08:25:24.4776006Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.4776296Z               "line": 77
2026-06-15T08:25:24.4776573Z             }
2026-06-15T08:25:24.4776840Z           ]
2026-06-15T08:25:24.4777117Z         },
2026-06-15T08:25:24.4777394Z         "int": {
2026-06-15T08:25:24.4777704Z           "complete": false,
2026-06-15T08:25:24.4778007Z           "evidence": []
2026-06-15T08:25:24.4778292Z         },
2026-06-15T08:25:24.4778567Z         "unit": {
2026-06-15T08:25:24.4778868Z           "complete": true,
2026-06-15T08:25:24.4779255Z           "evidence": [
2026-06-15T08:25:24.4779561Z             {
2026-06-15T08:25:24.4779965Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.4780261Z               "line": 478
2026-06-15T08:25:24.4780538Z             },
2026-06-15T08:25:24.4780808Z             {
2026-06-15T08:25:24.4781200Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.4781510Z               "line": 516
2026-06-15T08:25:24.4781781Z             },
2026-06-15T08:25:24.4782047Z             {
2026-06-15T08:25:24.4782426Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.4782710Z               "line": 166
2026-06-15T08:25:24.4782981Z             }
2026-06-15T08:25:24.4783246Z           ]
2026-06-15T08:25:24.4783509Z         }
2026-06-15T08:25:24.4783776Z       }
2026-06-15T08:25:24.4784038Z     },
2026-06-15T08:25:24.4784309Z     {
2026-06-15T08:25:24.4784691Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-15T08:25:24.4786647Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-15T08:25:24.4786948Z       "requiredStages": [
2026-06-15T08:25:24.4787229Z         "impl",
2026-06-15T08:25:24.4787495Z         "unit"
2026-06-15T08:25:24.4787772Z       ],
2026-06-15T08:25:24.4788053Z       "stages": {
2026-06-15T08:25:24.4788311Z         "doc": {
2026-06-15T08:25:24.4788609Z           "complete": false,
2026-06-15T08:25:24.4788895Z           "evidence": []
2026-06-15T08:25:24.4789257Z         },
2026-06-15T08:25:24.4789533Z         "impl": {
2026-06-15T08:25:24.4789834Z           "complete": true,
2026-06-15T08:25:24.4790121Z           "evidence": [
2026-06-15T08:25:24.4790392Z             {
2026-06-15T08:25:24.4790798Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-15T08:25:24.4791089Z               "line": 22
2026-06-15T08:25:24.4791372Z             },
2026-06-15T08:25:24.4791750Z             {
2026-06-15T08:25:24.4792131Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.4792417Z               "line": 487
2026-06-15T08:25:24.4792690Z             },
2026-06-15T08:25:24.4792966Z             {
2026-06-15T08:25:24.4793353Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-15T08:25:24.4793745Z               "line": 17
2026-06-15T08:25:24.4794017Z             },
2026-06-15T08:25:24.4794292Z             {
2026-06-15T08:25:24.4794674Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-15T08:25:24.4794961Z               "line": 147
2026-06-15T08:25:24.4795228Z             },
2026-06-15T08:25:24.4795484Z             {
2026-06-15T08:25:24.4795905Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4796196Z               "line": 226
2026-06-15T08:25:24.4796465Z             },
2026-06-15T08:25:24.4796740Z             {
2026-06-15T08:25:24.4797160Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4797460Z               "line": 251
2026-06-15T08:25:24.4797736Z             },
2026-06-15T08:25:24.4797998Z             {
2026-06-15T08:25:24.4798414Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4798700Z               "line": 277
2026-06-15T08:25:24.4799056Z             },
2026-06-15T08:25:24.4799330Z             {
2026-06-15T08:25:24.4799732Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.4800022Z               "line": 124
2026-06-15T08:25:24.4800293Z             },
2026-06-15T08:25:24.4800565Z             {
2026-06-15T08:25:24.4800952Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.4801242Z               "line": 224
2026-06-15T08:25:24.4801519Z             }
2026-06-15T08:25:24.4801795Z           ]
2026-06-15T08:25:24.4802058Z         },
2026-06-15T08:25:24.4802339Z         "int": {
2026-06-15T08:25:24.4802634Z           "complete": false,
2026-06-15T08:25:24.4802926Z           "evidence": []
2026-06-15T08:25:24.4803201Z         },
2026-06-15T08:25:24.4803472Z         "unit": {
2026-06-15T08:25:24.4803783Z           "complete": true,
2026-06-15T08:25:24.4804068Z           "evidence": [
2026-06-15T08:25:24.4804347Z             {
2026-06-15T08:25:24.4804761Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-15T08:25:24.4805043Z               "line": 63
2026-06-15T08:25:24.4805320Z             },
2026-06-15T08:25:24.4805591Z             {
2026-06-15T08:25:24.4805997Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-15T08:25:24.4806278Z               "line": 73
2026-06-15T08:25:24.4806555Z             },
2026-06-15T08:25:24.4806823Z             {
2026-06-15T08:25:24.4807224Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-15T08:25:24.4807511Z               "line": 85
2026-06-15T08:25:24.4807782Z             },
2026-06-15T08:25:24.4808064Z             {
2026-06-15T08:25:24.4808449Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.4808755Z               "line": 346
2026-06-15T08:25:24.4809116Z             },
2026-06-15T08:25:24.4809394Z             {
2026-06-15T08:25:24.4809785Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-15T08:25:24.4810077Z               "line": 281
2026-06-15T08:25:24.4810363Z             },
2026-06-15T08:25:24.4810635Z             {
2026-06-15T08:25:24.4811025Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-15T08:25:24.4811316Z               "line": 322
2026-06-15T08:25:24.4811594Z             },
2026-06-15T08:25:24.4811870Z             {
2026-06-15T08:25:24.4812257Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-15T08:25:24.4812555Z               "line": 360
2026-06-15T08:25:24.4812832Z             },
2026-06-15T08:25:24.4813098Z             {
2026-06-15T08:25:24.4813523Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.4813810Z               "line": 688
2026-06-15T08:25:24.4814081Z             },
2026-06-15T08:25:24.4814478Z             {
2026-06-15T08:25:24.4814879Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.4815170Z               "line": 397
2026-06-15T08:25:24.4815447Z             },
2026-06-15T08:25:24.4815719Z             {
2026-06-15T08:25:24.4816114Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.4816505Z               "line": 440
2026-06-15T08:25:24.4816781Z             }
2026-06-15T08:25:24.4817059Z           ]
2026-06-15T08:25:24.4817331Z         }
2026-06-15T08:25:24.4817600Z       }
2026-06-15T08:25:24.4817864Z     },
2026-06-15T08:25:24.4818127Z     {
2026-06-15T08:25:24.4818456Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-15T08:25:24.4819249Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-15T08:25:24.4819592Z       "requiredStages": [
2026-06-15T08:25:24.4819864Z         "impl",
2026-06-15T08:25:24.4820138Z         "unit"
2026-06-15T08:25:24.4820412Z       ],
2026-06-15T08:25:24.4820684Z       "stages": {
2026-06-15T08:25:24.4820967Z         "doc": {
2026-06-15T08:25:24.4821257Z           "complete": false,
2026-06-15T08:25:24.4821557Z           "evidence": []
2026-06-15T08:25:24.4821835Z         },
2026-06-15T08:25:24.4822106Z         "impl": {
2026-06-15T08:25:24.4822416Z           "complete": true,
2026-06-15T08:25:24.4822697Z           "evidence": [
2026-06-15T08:25:24.4822972Z             {
2026-06-15T08:25:24.4823334Z               "path": "crates/spt-term/src/reader.rs",
2026-06-15T08:25:24.4823620Z               "line": 169
2026-06-15T08:25:24.4823892Z             }
2026-06-15T08:25:24.4824159Z           ]
2026-06-15T08:25:24.4824432Z         },
2026-06-15T08:25:24.4824714Z         "int": {
2026-06-15T08:25:24.4825024Z           "complete": true,
2026-06-15T08:25:24.4825312Z           "evidence": [
2026-06-15T08:25:24.4825586Z             {
2026-06-15T08:25:24.4825959Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-15T08:25:24.4826249Z               "line": 44
2026-06-15T08:25:24.4826525Z             },
2026-06-15T08:25:24.4826788Z             {
2026-06-15T08:25:24.4827169Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-15T08:25:24.4827446Z               "line": 66
2026-06-15T08:25:24.4827722Z             }
2026-06-15T08:25:24.4828004Z           ]
2026-06-15T08:25:24.4828279Z         },
2026-06-15T08:25:24.4828569Z         "unit": {
2026-06-15T08:25:24.4828869Z           "complete": true,
2026-06-15T08:25:24.4829269Z           "evidence": [
2026-06-15T08:25:24.4829584Z             {
2026-06-15T08:25:24.4829965Z               "path": "crates/spt-term/src/reader.rs",
2026-06-15T08:25:24.4830251Z               "line": 186
2026-06-15T08:25:24.4830524Z             },
2026-06-15T08:25:24.4830798Z             {
2026-06-15T08:25:24.4831179Z               "path": "crates/spt-term/src/reader.rs",
2026-06-15T08:25:24.4831474Z               "line": 238
2026-06-15T08:25:24.4831741Z             },
2026-06-15T08:25:24.4832018Z             {
2026-06-15T08:25:24.4832400Z               "path": "crates/spt-term/src/reader.rs",
2026-06-15T08:25:24.4832681Z               "line": 266
2026-06-15T08:25:24.4832952Z             }
2026-06-15T08:25:24.4833223Z           ]
2026-06-15T08:25:24.4833494Z         }
2026-06-15T08:25:24.4833771Z       }
2026-06-15T08:25:24.4834062Z     },
2026-06-15T08:25:24.4834339Z     {
2026-06-15T08:25:24.4834724Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-15T08:25:24.4836180Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-15T08:25:24.4836495Z       "requiredStages": [
2026-06-15T08:25:24.4836770Z         "impl",
2026-06-15T08:25:24.4837043Z         "unit",
2026-06-15T08:25:24.4837324Z         "int"
2026-06-15T08:25:24.4837587Z       ],
2026-06-15T08:25:24.4837868Z       "stages": {
2026-06-15T08:25:24.4838151Z         "doc": {
2026-06-15T08:25:24.4838447Z           "complete": false,
2026-06-15T08:25:24.4838885Z           "evidence": []
2026-06-15T08:25:24.4839224Z         },
2026-06-15T08:25:24.4839520Z         "impl": {
2026-06-15T08:25:24.4839820Z           "complete": true,
2026-06-15T08:25:24.4840106Z           "evidence": [
2026-06-15T08:25:24.4840383Z             {
2026-06-15T08:25:24.4840788Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4841182Z               "line": 152
2026-06-15T08:25:24.4841457Z             },
2026-06-15T08:25:24.4841734Z             {
2026-06-15T08:25:24.4842138Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4842420Z               "line": 176
2026-06-15T08:25:24.4842697Z             },
2026-06-15T08:25:24.4842964Z             {
2026-06-15T08:25:24.4843350Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.4843636Z               "line": 79
2026-06-15T08:25:24.4843913Z             },
2026-06-15T08:25:24.4844193Z             {
2026-06-15T08:25:24.4844546Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.4844851Z               "line": 51
2026-06-15T08:25:24.4845122Z             },
2026-06-15T08:25:24.4845394Z             {
2026-06-15T08:25:24.4845767Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.4846052Z               "line": 164
2026-06-15T08:25:24.4846333Z             },
2026-06-15T08:25:24.4846611Z             {
2026-06-15T08:25:24.4847011Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4847303Z               "line": 27
2026-06-15T08:25:24.4847584Z             },
2026-06-15T08:25:24.4847866Z             {
2026-06-15T08:25:24.4848247Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4848528Z               "line": 79
2026-06-15T08:25:24.4848795Z             },
2026-06-15T08:25:24.4849157Z             {
2026-06-15T08:25:24.4849559Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4849850Z               "line": 102
2026-06-15T08:25:24.4850131Z             },
2026-06-15T08:25:24.4850399Z             {
2026-06-15T08:25:24.4850790Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.4851066Z               "line": 116
2026-06-15T08:25:24.4851334Z             }
2026-06-15T08:25:24.4851601Z           ]
2026-06-15T08:25:24.4851881Z         },
2026-06-15T08:25:24.4852159Z         "int": {
2026-06-15T08:25:24.4852455Z           "complete": true,
2026-06-15T08:25:24.4852750Z           "evidence": [
2026-06-15T08:25:24.4853023Z             {
2026-06-15T08:25:24.4853447Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-15T08:25:24.4853733Z               "line": 38
2026-06-15T08:25:24.4854000Z             }
2026-06-15T08:25:24.4854281Z           ]
2026-06-15T08:25:24.4854544Z         },
2026-06-15T08:25:24.4854825Z         "unit": {
2026-06-15T08:25:24.4855116Z           "complete": true,
2026-06-15T08:25:24.4855407Z           "evidence": [
2026-06-15T08:25:24.4855682Z             {
2026-06-15T08:25:24.4856093Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.4856394Z               "line": 628
2026-06-15T08:25:24.4856671Z             },
2026-06-15T08:25:24.4856949Z             {
2026-06-15T08:25:24.4857310Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.4857596Z               "line": 378
2026-06-15T08:25:24.4857872Z             },
2026-06-15T08:25:24.4858144Z             {
2026-06-15T08:25:24.4858535Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4858826Z               "line": 124
2026-06-15T08:25:24.4859179Z             },
2026-06-15T08:25:24.4859451Z             {
2026-06-15T08:25:24.4859850Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4860143Z               "line": 143
2026-06-15T08:25:24.4860420Z             },
2026-06-15T08:25:24.4860701Z             {
2026-06-15T08:25:24.4861087Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4861383Z               "line": 160
2026-06-15T08:25:24.4861770Z             },
2026-06-15T08:25:24.4862046Z             {
2026-06-15T08:25:24.4862426Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4862720Z               "line": 187
2026-06-15T08:25:24.4862986Z             },
2026-06-15T08:25:24.4863254Z             {
2026-06-15T08:25:24.4863644Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-15T08:25:24.4864047Z               "line": 206
2026-06-15T08:25:24.4864322Z             },
2026-06-15T08:25:24.4864598Z             {
2026-06-15T08:25:24.4865001Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.4865293Z               "line": 229
2026-06-15T08:25:24.4865560Z             }
2026-06-15T08:25:24.4865832Z           ]
2026-06-15T08:25:24.4866100Z         }
2026-06-15T08:25:24.4866372Z       }
2026-06-15T08:25:24.4866630Z     },
2026-06-15T08:25:24.4866902Z     {
2026-06-15T08:25:24.4867297Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-15T08:25:24.4869629Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-15T08:25:24.4869948Z       "requiredStages": [
2026-06-15T08:25:24.4870216Z         "impl",
2026-06-15T08:25:24.4870501Z         "unit"
2026-06-15T08:25:24.4870775Z       ],
2026-06-15T08:25:24.4871052Z       "stages": {
2026-06-15T08:25:24.4871328Z         "doc": {
2026-06-15T08:25:24.4871633Z           "complete": false,
2026-06-15T08:25:24.4871943Z           "evidence": []
2026-06-15T08:25:24.4872206Z         },
2026-06-15T08:25:24.4872486Z         "impl": {
2026-06-15T08:25:24.4872783Z           "complete": true,
2026-06-15T08:25:24.4873072Z           "evidence": [
2026-06-15T08:25:24.4873338Z             {
2026-06-15T08:25:24.4873729Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4874019Z               "line": 621
2026-06-15T08:25:24.4874282Z             },
2026-06-15T08:25:24.4874553Z             {
2026-06-15T08:25:24.4874941Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.4875227Z               "line": 834
2026-06-15T08:25:24.4875498Z             }
2026-06-15T08:25:24.4875763Z           ]
2026-06-15T08:25:24.4876026Z         },
2026-06-15T08:25:24.4876307Z         "int": {
2026-06-15T08:25:24.4876603Z           "complete": false,
2026-06-15T08:25:24.4876898Z           "evidence": []
2026-06-15T08:25:24.4877157Z         },
2026-06-15T08:25:24.4877428Z         "unit": {
2026-06-15T08:25:24.4877723Z           "complete": true,
2026-06-15T08:25:24.4878008Z           "evidence": [
2026-06-15T08:25:24.4878278Z             {
2026-06-15T08:25:24.4878692Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-15T08:25:24.4879075Z               "line": 161
2026-06-15T08:25:24.4879341Z             }
2026-06-15T08:25:24.4879617Z           ]
2026-06-15T08:25:24.4879889Z         }
2026-06-15T08:25:24.4880161Z       }
2026-06-15T08:25:24.4880424Z     },
2026-06-15T08:25:24.4880687Z     {
2026-06-15T08:25:24.4881023Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-15T08:25:24.4881636Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-15T08:25:24.4881937Z       "requiredStages": [
2026-06-15T08:25:24.4882222Z         "impl",
2026-06-15T08:25:24.4882499Z         "unit"
2026-06-15T08:25:24.4882766Z       ],
2026-06-15T08:25:24.4883037Z       "stages": {
2026-06-15T08:25:24.4883315Z         "doc": {
2026-06-15T08:25:24.4883614Z           "complete": false,
2026-06-15T08:25:24.4883912Z           "evidence": []
2026-06-15T08:25:24.4884174Z         },
2026-06-15T08:25:24.4884450Z         "impl": {
2026-06-15T08:25:24.4884746Z           "complete": true,
2026-06-15T08:25:24.4885027Z           "evidence": [
2026-06-15T08:25:24.4885304Z             {
2026-06-15T08:25:24.4885666Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4886063Z               "line": 40
2026-06-15T08:25:24.4886333Z             },
2026-06-15T08:25:24.4886610Z             {
2026-06-15T08:25:24.4886972Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4887262Z               "line": 100
2026-06-15T08:25:24.4887535Z             },
2026-06-15T08:25:24.4887811Z             {
2026-06-15T08:25:24.4888288Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4888573Z               "line": 215
2026-06-15T08:25:24.4888852Z             },
2026-06-15T08:25:24.4889200Z             {
2026-06-15T08:25:24.4889581Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4889867Z               "line": 314
2026-06-15T08:25:24.4890140Z             }
2026-06-15T08:25:24.4890421Z           ]
2026-06-15T08:25:24.4890683Z         },
2026-06-15T08:25:24.4890960Z         "int": {
2026-06-15T08:25:24.4891252Z           "complete": false,
2026-06-15T08:25:24.4891545Z           "evidence": []
2026-06-15T08:25:24.4891824Z         },
2026-06-15T08:25:24.4892100Z         "unit": {
2026-06-15T08:25:24.4892405Z           "complete": true,
2026-06-15T08:25:24.4892678Z           "evidence": [
2026-06-15T08:25:24.4892954Z             {
2026-06-15T08:25:24.4893316Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4893607Z               "line": 352
2026-06-15T08:25:24.4893894Z             },
2026-06-15T08:25:24.4894164Z             {
2026-06-15T08:25:24.4894540Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4894816Z               "line": 409
2026-06-15T08:25:24.4895083Z             },
2026-06-15T08:25:24.4895339Z             {
2026-06-15T08:25:24.4895712Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4895993Z               "line": 458
2026-06-15T08:25:24.4896250Z             },
2026-06-15T08:25:24.4896522Z             {
2026-06-15T08:25:24.4896898Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4897198Z               "line": 479
2026-06-15T08:25:24.4897465Z             }
2026-06-15T08:25:24.4897742Z           ]
2026-06-15T08:25:24.4898019Z         }
2026-06-15T08:25:24.4898287Z       }
2026-06-15T08:25:24.4898558Z     },
2026-06-15T08:25:24.4898815Z     {
2026-06-15T08:25:24.4899262Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-15T08:25:24.4899666Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-15T08:25:24.4899975Z       "requiredStages": [
2026-06-15T08:25:24.4900252Z         "impl",
2026-06-15T08:25:24.4900529Z         "unit"
2026-06-15T08:25:24.4900800Z       ],
2026-06-15T08:25:24.4901085Z       "stages": {
2026-06-15T08:25:24.4901367Z         "doc": {
2026-06-15T08:25:24.4901668Z           "complete": false,
2026-06-15T08:25:24.4901963Z           "evidence": []
2026-06-15T08:25:24.4902237Z         },
2026-06-15T08:25:24.4902514Z         "impl": {
2026-06-15T08:25:24.4902819Z           "complete": true,
2026-06-15T08:25:24.4903105Z           "evidence": [
2026-06-15T08:25:24.4903366Z             {
2026-06-15T08:25:24.4903744Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4904040Z               "line": 113
2026-06-15T08:25:24.4904311Z             },
2026-06-15T08:25:24.4904572Z             {
2026-06-15T08:25:24.4904945Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4905232Z               "line": 208
2026-06-15T08:25:24.4905508Z             }
2026-06-15T08:25:24.4905776Z           ]
2026-06-15T08:25:24.4906048Z         },
2026-06-15T08:25:24.4906321Z         "int": {
2026-06-15T08:25:24.4906626Z           "complete": false,
2026-06-15T08:25:24.4906926Z           "evidence": []
2026-06-15T08:25:24.4907193Z         },
2026-06-15T08:25:24.4907472Z         "unit": {
2026-06-15T08:25:24.4907768Z           "complete": true,
2026-06-15T08:25:24.4908049Z           "evidence": [
2026-06-15T08:25:24.4908322Z             {
2026-06-15T08:25:24.4908702Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4909074Z               "line": 373
2026-06-15T08:25:24.4909461Z             },
2026-06-15T08:25:24.4909745Z             {
2026-06-15T08:25:24.4910120Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.4914522Z               "line": 436
2026-06-15T08:25:24.4914813Z             }
2026-06-15T08:25:24.4915084Z           ]
2026-06-15T08:25:24.4915364Z         }
2026-06-15T08:25:24.4915801Z       }
2026-06-15T08:25:24.4916073Z     },
2026-06-15T08:25:24.4916346Z     {
2026-06-15T08:25:24.4916750Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-15T08:25:24.4920714Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-15T08:25:24.4921110Z       "requiredStages": [
2026-06-15T08:25:24.4921400Z         "impl",
2026-06-15T08:25:24.4921710Z         "unit"
2026-06-15T08:25:24.4921988Z       ],
2026-06-15T08:25:24.4922274Z       "stages": {
2026-06-15T08:25:24.4922555Z         "doc": {
2026-06-15T08:25:24.4922865Z           "complete": true,
2026-06-15T08:25:24.4923148Z           "evidence": [
2026-06-15T08:25:24.4923424Z             {
2026-06-15T08:25:24.4923794Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.4924100Z               "line": 206
2026-06-15T08:25:24.4924363Z             }
2026-06-15T08:25:24.4924639Z           ]
2026-06-15T08:25:24.4924912Z         },
2026-06-15T08:25:24.4925193Z         "impl": {
2026-06-15T08:25:24.4925504Z           "complete": true,
2026-06-15T08:25:24.4925792Z           "evidence": [
2026-06-15T08:25:24.4926071Z             {
2026-06-15T08:25:24.4926472Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4926768Z               "line": 593
2026-06-15T08:25:24.4927044Z             },
2026-06-15T08:25:24.4927301Z             {
2026-06-15T08:25:24.4927703Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4927993Z               "line": 685
2026-06-15T08:25:24.4928269Z             },
2026-06-15T08:25:24.4928549Z             {
2026-06-15T08:25:24.4929051Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.4929347Z               "line": 183
2026-06-15T08:25:24.4929623Z             }
2026-06-15T08:25:24.4929899Z           ]
2026-06-15T08:25:24.4930161Z         },
2026-06-15T08:25:24.4930447Z         "int": {
2026-06-15T08:25:24.4930761Z           "complete": false,
2026-06-15T08:25:24.4931046Z           "evidence": []
2026-06-15T08:25:24.4931322Z         },
2026-06-15T08:25:24.4931589Z         "unit": {
2026-06-15T08:25:24.4931890Z           "complete": true,
2026-06-15T08:25:24.4932171Z           "evidence": [
2026-06-15T08:25:24.4932456Z             {
2026-06-15T08:25:24.4932848Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.4933139Z               "line": 734
2026-06-15T08:25:24.4933420Z             },
2026-06-15T08:25:24.4933695Z             {
2026-06-15T08:25:24.4934107Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-15T08:25:24.4934393Z               "line": 44
2026-06-15T08:25:24.4934665Z             },
2026-06-15T08:25:24.4934937Z             {
2026-06-15T08:25:24.4935295Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-15T08:25:24.4935595Z               "line": 57
2026-06-15T08:25:24.4935871Z             },
2026-06-15T08:25:24.4936153Z             {
2026-06-15T08:25:24.4936588Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-15T08:25:24.4936879Z               "line": 54
2026-06-15T08:25:24.4937161Z             }
2026-06-15T08:25:24.4937428Z           ]
2026-06-15T08:25:24.4937700Z         }
2026-06-15T08:25:24.4937972Z       }
2026-06-15T08:25:24.4938248Z     },
2026-06-15T08:25:24.4938510Z     {
2026-06-15T08:25:24.4938897Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-15T08:25:24.4939931Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-15T08:25:24.4940231Z       "requiredStages": [
2026-06-15T08:25:24.4940518Z         "impl",
2026-06-15T08:25:24.4940784Z         "unit"
2026-06-15T08:25:24.4941059Z       ],
2026-06-15T08:25:24.4941335Z       "stages": {
2026-06-15T08:25:24.4941719Z         "doc": {
2026-06-15T08:25:24.4942029Z           "complete": false,
2026-06-15T08:25:24.4942324Z           "evidence": []
2026-06-15T08:25:24.4942602Z         },
2026-06-15T08:25:24.4942878Z         "impl": {
2026-06-15T08:25:24.4943178Z           "complete": true,
2026-06-15T08:25:24.4943470Z           "evidence": [
2026-06-15T08:25:24.4943733Z             {
2026-06-15T08:25:24.4944128Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4944408Z               "line": 26
2026-06-15T08:25:24.4944687Z             },
2026-06-15T08:25:24.4944958Z             {
2026-06-15T08:25:24.4945336Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4945641Z               "line": 135
2026-06-15T08:25:24.4945917Z             },
2026-06-15T08:25:24.4946189Z             {
2026-06-15T08:25:24.4946595Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4946879Z               "line": 26
2026-06-15T08:25:24.4947148Z             },
2026-06-15T08:25:24.4947430Z             {
2026-06-15T08:25:24.4947835Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4948125Z               "line": 237
2026-06-15T08:25:24.4948402Z             }
2026-06-15T08:25:24.4948670Z           ]
2026-06-15T08:25:24.4948932Z         },
2026-06-15T08:25:24.4949299Z         "int": {
2026-06-15T08:25:24.4949599Z           "complete": false,
2026-06-15T08:25:24.4949890Z           "evidence": []
2026-06-15T08:25:24.4950152Z         },
2026-06-15T08:25:24.4950424Z         "unit": {
2026-06-15T08:25:24.4950714Z           "complete": true,
2026-06-15T08:25:24.4950995Z           "evidence": [
2026-06-15T08:25:24.4951267Z             {
2026-06-15T08:25:24.4951639Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4951934Z               "line": 161
2026-06-15T08:25:24.4952208Z             },
2026-06-15T08:25:24.4952481Z             {
2026-06-15T08:25:24.4952852Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4953152Z               "line": 170
2026-06-15T08:25:24.4953419Z             },
2026-06-15T08:25:24.4953697Z             {
2026-06-15T08:25:24.4954072Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4954345Z               "line": 179
2026-06-15T08:25:24.4954612Z             },
2026-06-15T08:25:24.4954877Z             {
2026-06-15T08:25:24.4955261Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4955538Z               "line": 190
2026-06-15T08:25:24.4955809Z             },
2026-06-15T08:25:24.4956081Z             {
2026-06-15T08:25:24.4956453Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4956744Z               "line": 199
2026-06-15T08:25:24.4957011Z             },
2026-06-15T08:25:24.4957282Z             {
2026-06-15T08:25:24.4957642Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4957933Z               "line": 216
2026-06-15T08:25:24.4958210Z             },
2026-06-15T08:25:24.4958482Z             {
2026-06-15T08:25:24.4958858Z               "path": "crates/spt-live/src/context.rs",
2026-06-15T08:25:24.4959196Z               "line": 242
2026-06-15T08:25:24.4959473Z             },
2026-06-15T08:25:24.4959727Z             {
2026-06-15T08:25:24.4960098Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.4960383Z               "line": 295
2026-06-15T08:25:24.4960645Z             },
2026-06-15T08:25:24.4960916Z             {
2026-06-15T08:25:24.4961284Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.4961565Z               "line": 244
2026-06-15T08:25:24.4961832Z             },
2026-06-15T08:25:24.4962209Z             {
2026-06-15T08:25:24.4962618Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4962892Z               "line": 265
2026-06-15T08:25:24.4963163Z             },
2026-06-15T08:25:24.4963431Z             {
2026-06-15T08:25:24.4963836Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4964218Z               "line": 293
2026-06-15T08:25:24.4964480Z             },
2026-06-15T08:25:24.4964751Z             {
2026-06-15T08:25:24.4965154Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4965437Z               "line": 317
2026-06-15T08:25:24.4965702Z             },
2026-06-15T08:25:24.4965974Z             {
2026-06-15T08:25:24.4966384Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-15T08:25:24.4966674Z               "line": 327
2026-06-15T08:25:24.4966942Z             },
2026-06-15T08:25:24.4967204Z             {
2026-06-15T08:25:24.4967586Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.4967876Z               "line": 540
2026-06-15T08:25:24.4968141Z             }
2026-06-15T08:25:24.4968408Z           ]
2026-06-15T08:25:24.4968670Z         }
2026-06-15T08:25:24.4968931Z       }
2026-06-15T08:25:24.4969251Z     },
2026-06-15T08:25:24.4969508Z     {
2026-06-15T08:25:24.4969866Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-15T08:25:24.4970376Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-15T08:25:24.4970673Z       "requiredStages": [
2026-06-15T08:25:24.4970943Z         "impl",
2026-06-15T08:25:24.4971215Z         "unit"
2026-06-15T08:25:24.4971476Z       ],
2026-06-15T08:25:24.4971758Z       "stages": {
2026-06-15T08:25:24.4972021Z         "doc": {
2026-06-15T08:25:24.4972311Z           "complete": false,
2026-06-15T08:25:24.4972588Z           "evidence": []
2026-06-15T08:25:24.4972852Z         },
2026-06-15T08:25:24.4973125Z         "impl": {
2026-06-15T08:25:24.4973399Z           "complete": true,
2026-06-15T08:25:24.4973695Z           "evidence": [
2026-06-15T08:25:24.4973958Z             {
2026-06-15T08:25:24.4974306Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.4974592Z               "line": 25
2026-06-15T08:25:24.4974854Z             },
2026-06-15T08:25:24.4975122Z             {
2026-06-15T08:25:24.4975489Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.4975776Z               "line": 26
2026-06-15T08:25:24.4976036Z             },
2026-06-15T08:25:24.4976300Z             {
2026-06-15T08:25:24.4976653Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.4976924Z               "line": 159
2026-06-15T08:25:24.4977182Z             }
2026-06-15T08:25:24.4977431Z           ]
2026-06-15T08:25:24.4977693Z         },
2026-06-15T08:25:24.4977956Z         "int": {
2026-06-15T08:25:24.4978252Z           "complete": false,
2026-06-15T08:25:24.4978521Z           "evidence": []
2026-06-15T08:25:24.4978786Z         },
2026-06-15T08:25:24.4979114Z         "unit": {
2026-06-15T08:25:24.4979397Z           "complete": true,
2026-06-15T08:25:24.4979668Z           "evidence": [
2026-06-15T08:25:24.4979927Z             {
2026-06-15T08:25:24.4980279Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.4980556Z               "line": 188
2026-06-15T08:25:24.4980814Z             },
2026-06-15T08:25:24.4981085Z             {
2026-06-15T08:25:24.4981431Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.4981717Z               "line": 240
2026-06-15T08:25:24.4981979Z             },
2026-06-15T08:25:24.4982243Z             {
2026-06-15T08:25:24.4982604Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.4982876Z               "line": 186
2026-06-15T08:25:24.4983144Z             }
2026-06-15T08:25:24.4983402Z           ]
2026-06-15T08:25:24.4983657Z         }
2026-06-15T08:25:24.4983903Z       }
2026-06-15T08:25:24.4984166Z     },
2026-06-15T08:25:24.4984418Z     {
2026-06-15T08:25:24.4984738Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-15T08:25:24.4985372Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-15T08:25:24.4985659Z       "requiredStages": [
2026-06-15T08:25:24.4985925Z         "impl",
2026-06-15T08:25:24.4986187Z         "unit"
2026-06-15T08:25:24.4986425Z       ],
2026-06-15T08:25:24.4986727Z       "stages": {
2026-06-15T08:25:24.4987085Z         "doc": {
2026-06-15T08:25:24.4987367Z           "complete": false,
2026-06-15T08:25:24.4987643Z           "evidence": []
2026-06-15T08:25:24.4987905Z         },
2026-06-15T08:25:24.4988172Z         "impl": {
2026-06-15T08:25:24.4988463Z           "complete": true,
2026-06-15T08:25:24.4988734Z           "evidence": [
2026-06-15T08:25:24.4989062Z             {
2026-06-15T08:25:24.4989436Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4989703Z               "line": 48
2026-06-15T08:25:24.4989971Z             },
2026-06-15T08:25:24.4990228Z             {
2026-06-15T08:25:24.4990591Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4990858Z               "line": 55
2026-06-15T08:25:24.4991116Z             },
2026-06-15T08:25:24.4991369Z             {
2026-06-15T08:25:24.4991722Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4991996Z               "line": 74
2026-06-15T08:25:24.4992263Z             },
2026-06-15T08:25:24.4992525Z             {
2026-06-15T08:25:24.4992887Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4993151Z               "line": 91
2026-06-15T08:25:24.4993417Z             }
2026-06-15T08:25:24.4993676Z           ]
2026-06-15T08:25:24.4993928Z         },
2026-06-15T08:25:24.4994188Z         "int": {
2026-06-15T08:25:24.4994473Z           "complete": false,
2026-06-15T08:25:24.4994749Z           "evidence": []
2026-06-15T08:25:24.4995007Z         },
2026-06-15T08:25:24.4995274Z         "unit": {
2026-06-15T08:25:24.4995551Z           "complete": true,
2026-06-15T08:25:24.4995831Z           "evidence": [
2026-06-15T08:25:24.4996089Z             {
2026-06-15T08:25:24.4996446Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4996728Z               "line": 149
2026-06-15T08:25:24.4996985Z             },
2026-06-15T08:25:24.4997245Z             {
2026-06-15T08:25:24.4997602Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4997884Z               "line": 166
2026-06-15T08:25:24.4998142Z             },
2026-06-15T08:25:24.4998399Z             {
2026-06-15T08:25:24.4998757Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.4999105Z               "line": 176
2026-06-15T08:25:24.4999362Z             },
2026-06-15T08:25:24.4999618Z             {
2026-06-15T08:25:24.4999977Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.5000254Z               "line": 194
2026-06-15T08:25:24.5000517Z             },
2026-06-15T08:25:24.5000770Z             {
2026-06-15T08:25:24.5001127Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.5001428Z               "line": 207
2026-06-15T08:25:24.5001686Z             }
2026-06-15T08:25:24.5001944Z           ]
2026-06-15T08:25:24.5002195Z         }
2026-06-15T08:25:24.5002447Z       }
2026-06-15T08:25:24.5002696Z     },
2026-06-15T08:25:24.5002953Z     {
2026-06-15T08:25:24.5003306Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-15T08:25:24.5003902Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-15T08:25:24.5004193Z       "requiredStages": [
2026-06-15T08:25:24.5004464Z         "impl",
2026-06-15T08:25:24.5004725Z         "unit"
2026-06-15T08:25:24.5004985Z       ],
2026-06-15T08:25:24.5005243Z       "stages": {
2026-06-15T08:25:24.5005505Z         "doc": {
2026-06-15T08:25:24.5005791Z           "complete": false,
2026-06-15T08:25:24.5006072Z           "evidence": []
2026-06-15T08:25:24.5006315Z         },
2026-06-15T08:25:24.5006578Z         "impl": {
2026-06-15T08:25:24.5006854Z           "complete": true,
2026-06-15T08:25:24.5007225Z           "evidence": [
2026-06-15T08:25:24.5007484Z             {
2026-06-15T08:25:24.5007861Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.5008134Z               "line": 416
2026-06-15T08:25:24.5008392Z             },
2026-06-15T08:25:24.5008649Z             {
2026-06-15T08:25:24.5009211Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5009478Z               "line": 26
2026-06-15T08:25:24.5009745Z             }
2026-06-15T08:25:24.5009990Z           ]
2026-06-15T08:25:24.5010244Z         },
2026-06-15T08:25:24.5010504Z         "int": {
2026-06-15T08:25:24.5010800Z           "complete": false,
2026-06-15T08:25:24.5011086Z           "evidence": []
2026-06-15T08:25:24.5011344Z         },
2026-06-15T08:25:24.5011607Z         "unit": {
2026-06-15T08:25:24.5011893Z           "complete": true,
2026-06-15T08:25:24.5012160Z           "evidence": [
2026-06-15T08:25:24.5012417Z             {
2026-06-15T08:25:24.5012770Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5013059Z               "line": 150
2026-06-15T08:25:24.5013308Z             },
2026-06-15T08:25:24.5013570Z             {
2026-06-15T08:25:24.5013918Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5014195Z               "line": 208
2026-06-15T08:25:24.5014467Z             }
2026-06-15T08:25:24.5014714Z           ]
2026-06-15T08:25:24.5014980Z         }
2026-06-15T08:25:24.5015242Z       }
2026-06-15T08:25:24.5015499Z     },
2026-06-15T08:25:24.5015750Z     {
2026-06-15T08:25:24.5016113Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-15T08:25:24.5020201Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-15T08:25:24.5020521Z       "requiredStages": [
2026-06-15T08:25:24.5020785Z         "doc",
2026-06-15T08:25:24.5021046Z         "impl",
2026-06-15T08:25:24.5021308Z         "unit"
2026-06-15T08:25:24.5021571Z       ],
2026-06-15T08:25:24.5021838Z       "stages": {
2026-06-15T08:25:24.5022124Z         "doc": {
2026-06-15T08:25:24.5022410Z           "complete": true,
2026-06-15T08:25:24.5022671Z           "evidence": [
2026-06-15T08:25:24.5022934Z             {
2026-06-15T08:25:24.5023273Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5023548Z               "line": 214
2026-06-15T08:25:24.5023806Z             }
2026-06-15T08:25:24.5024078Z           ]
2026-06-15T08:25:24.5024330Z         },
2026-06-15T08:25:24.5024591Z         "impl": {
2026-06-15T08:25:24.5024878Z           "complete": true,
2026-06-15T08:25:24.5025155Z           "evidence": [
2026-06-15T08:25:24.5025413Z             {
2026-06-15T08:25:24.5025793Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.5026068Z               "line": 54
2026-06-15T08:25:24.5026335Z             },
2026-06-15T08:25:24.5026592Z             {
2026-06-15T08:25:24.5026960Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.5027236Z               "line": 511
2026-06-15T08:25:24.5027502Z             },
2026-06-15T08:25:24.5027759Z             {
2026-06-15T08:25:24.5028142Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5028413Z               "line": 36
2026-06-15T08:25:24.5028670Z             },
2026-06-15T08:25:24.5028926Z             {
2026-06-15T08:25:24.5029387Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5029663Z               "line": 59
2026-06-15T08:25:24.5029927Z             },
2026-06-15T08:25:24.5030189Z             {
2026-06-15T08:25:24.5030565Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5030833Z               "line": 83
2026-06-15T08:25:24.5031217Z             },
2026-06-15T08:25:24.5031474Z             {
2026-06-15T08:25:24.5031859Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5032131Z               "line": 140
2026-06-15T08:25:24.5032394Z             },
2026-06-15T08:25:24.5032655Z             {
2026-06-15T08:25:24.5033127Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5033408Z               "line": 159
2026-06-15T08:25:24.5033672Z             },
2026-06-15T08:25:24.5033934Z             {
2026-06-15T08:25:24.5034318Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5034590Z               "line": 384
2026-06-15T08:25:24.5034851Z             },
2026-06-15T08:25:24.5035114Z             {
2026-06-15T08:25:24.5035486Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5035763Z               "line": 526
2026-06-15T08:25:24.5036039Z             },
2026-06-15T08:25:24.5036301Z             {
2026-06-15T08:25:24.5036690Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5036957Z               "line": 572
2026-06-15T08:25:24.5037224Z             },
2026-06-15T08:25:24.5037486Z             {
2026-06-15T08:25:24.5037815Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5038091Z               "line": 296
2026-06-15T08:25:24.5038362Z             },
2026-06-15T08:25:24.5038626Z             {
2026-06-15T08:25:24.5039012Z               "path": "crates/spt/src/main.rs",
2026-06-15T08:25:24.5039277Z               "line": 41
2026-06-15T08:25:24.5039538Z             }
2026-06-15T08:25:24.5039800Z           ]
2026-06-15T08:25:24.5040048Z         },
2026-06-15T08:25:24.5040300Z         "int": {
2026-06-15T08:25:24.5040590Z           "complete": false,
2026-06-15T08:25:24.5040867Z           "evidence": []
2026-06-15T08:25:24.5041125Z         },
2026-06-15T08:25:24.5041393Z         "unit": {
2026-06-15T08:25:24.5041675Z           "complete": true,
2026-06-15T08:25:24.5041963Z           "evidence": [
2026-06-15T08:25:24.5042218Z             {
2026-06-15T08:25:24.5042605Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5042876Z               "line": 785
2026-06-15T08:25:24.5043143Z             },
2026-06-15T08:25:24.5043410Z             {
2026-06-15T08:25:24.5043806Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5044087Z               "line": 826
2026-06-15T08:25:24.5044340Z             },
2026-06-15T08:25:24.5044603Z             {
2026-06-15T08:25:24.5044978Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.5045265Z               "line": 900
2026-06-15T08:25:24.5045518Z             }
2026-06-15T08:25:24.5045779Z           ]
2026-06-15T08:25:24.5046041Z         }
2026-06-15T08:25:24.5046294Z       }
2026-06-15T08:25:24.5046561Z     },
2026-06-15T08:25:24.5046810Z     {
2026-06-15T08:25:24.5047165Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-15T08:25:24.5052375Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-15T08:25:24.5052683Z       "requiredStages": [
2026-06-15T08:25:24.5052947Z         "impl",
2026-06-15T08:25:24.5053213Z         "unit"
2026-06-15T08:25:24.5053466Z       ],
2026-06-15T08:25:24.5053732Z       "stages": {
2026-06-15T08:25:24.5053989Z         "doc": {
2026-06-15T08:25:24.5054276Z           "complete": false,
2026-06-15T08:25:24.5054547Z           "evidence": []
2026-06-15T08:25:24.5054811Z         },
2026-06-15T08:25:24.5055196Z         "impl": {
2026-06-15T08:25:24.5055477Z           "complete": true,
2026-06-15T08:25:24.5055759Z           "evidence": [
2026-06-15T08:25:24.5056016Z             {
2026-06-15T08:25:24.5056398Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5056674Z               "line": 31
2026-06-15T08:25:24.5057037Z             }
2026-06-15T08:25:24.5057294Z           ]
2026-06-15T08:25:24.5057554Z         },
2026-06-15T08:25:24.5057819Z         "int": {
2026-06-15T08:25:24.5058105Z           "complete": false,
2026-06-15T08:25:24.5058382Z           "evidence": []
2026-06-15T08:25:24.5058640Z         },
2026-06-15T08:25:24.5058907Z         "unit": {
2026-06-15T08:25:24.5059265Z           "complete": true,
2026-06-15T08:25:24.5059536Z           "evidence": [
2026-06-15T08:25:24.5059788Z             {
2026-06-15T08:25:24.5060166Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5060440Z               "line": 181
2026-06-15T08:25:24.5060705Z             }
2026-06-15T08:25:24.5060963Z           ]
2026-06-15T08:25:24.5061221Z         }
2026-06-15T08:25:24.5061474Z       }
2026-06-15T08:25:24.5061730Z     },
2026-06-15T08:25:24.5061988Z     {
2026-06-15T08:25:24.5062355Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-15T08:25:24.5062833Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-15T08:25:24.5063131Z       "requiredStages": [
2026-06-15T08:25:24.5063396Z         "impl",
2026-06-15T08:25:24.5063648Z         "unit"
2026-06-15T08:25:24.5063911Z       ],
2026-06-15T08:25:24.5064174Z       "stages": {
2026-06-15T08:25:24.5064441Z         "doc": {
2026-06-15T08:25:24.5064732Z           "complete": false,
2026-06-15T08:25:24.5065008Z           "evidence": []
2026-06-15T08:25:24.5065265Z         },
2026-06-15T08:25:24.5065537Z         "impl": {
2026-06-15T08:25:24.5065827Z           "complete": true,
2026-06-15T08:25:24.5066099Z           "evidence": [
2026-06-15T08:25:24.5066366Z             {
2026-06-15T08:25:24.5066747Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5067019Z               "line": 49
2026-06-15T08:25:24.5067273Z             },
2026-06-15T08:25:24.5067535Z             {
2026-06-15T08:25:24.5067926Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5068195Z               "line": 81
2026-06-15T08:25:24.5068469Z             }
2026-06-15T08:25:24.5068732Z           ]
2026-06-15T08:25:24.5069051Z         },
2026-06-15T08:25:24.5069300Z         "int": {
2026-06-15T08:25:24.5069591Z           "complete": false,
2026-06-15T08:25:24.5069876Z           "evidence": []
2026-06-15T08:25:24.5070130Z         },
2026-06-15T08:25:24.5070397Z         "unit": {
2026-06-15T08:25:24.5070678Z           "complete": true,
2026-06-15T08:25:24.5070958Z           "evidence": [
2026-06-15T08:25:24.5071218Z             {
2026-06-15T08:25:24.5071594Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5071880Z               "line": 156
2026-06-15T08:25:24.5072143Z             },
2026-06-15T08:25:24.5072405Z             {
2026-06-15T08:25:24.5072777Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5073054Z               "line": 173
2026-06-15T08:25:24.5073317Z             },
2026-06-15T08:25:24.5073572Z             {
2026-06-15T08:25:24.5073961Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5074228Z               "line": 196
2026-06-15T08:25:24.5074490Z             }
2026-06-15T08:25:24.5074753Z           ]
2026-06-15T08:25:24.5075020Z         }
2026-06-15T08:25:24.5075283Z       }
2026-06-15T08:25:24.5075535Z     },
2026-06-15T08:25:24.5075796Z     {
2026-06-15T08:25:24.5076175Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-15T08:25:24.5076725Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-15T08:25:24.5077021Z       "requiredStages": [
2026-06-15T08:25:24.5077299Z         "impl",
2026-06-15T08:25:24.5077565Z         "unit"
2026-06-15T08:25:24.5077936Z       ],
2026-06-15T08:25:24.5078200Z       "stages": {
2026-06-15T08:25:24.5078467Z         "doc": {
2026-06-15T08:25:24.5078760Z           "complete": false,
2026-06-15T08:25:24.5079106Z           "evidence": []
2026-06-15T08:25:24.5079373Z         },
2026-06-15T08:25:24.5079645Z         "impl": {
2026-06-15T08:25:24.5080027Z           "complete": true,
2026-06-15T08:25:24.5080298Z           "evidence": [
2026-06-15T08:25:24.5080560Z             {
2026-06-15T08:25:24.5080947Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5081228Z               "line": 120
2026-06-15T08:25:24.5081485Z             }
2026-06-15T08:25:24.5081754Z           ]
2026-06-15T08:25:24.5082012Z         },
2026-06-15T08:25:24.5082279Z         "int": {
2026-06-15T08:25:24.5082570Z           "complete": false,
2026-06-15T08:25:24.5082855Z           "evidence": []
2026-06-15T08:25:24.5083103Z         },
2026-06-15T08:25:24.5083375Z         "unit": {
2026-06-15T08:25:24.5083675Z           "complete": true,
2026-06-15T08:25:24.5083943Z           "evidence": [
2026-06-15T08:25:24.5084209Z             {
2026-06-15T08:25:24.5084589Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5084865Z               "line": 212
2026-06-15T08:25:24.5085131Z             },
2026-06-15T08:25:24.5085393Z             {
2026-06-15T08:25:24.5085775Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5086056Z               "line": 221
2026-06-15T08:25:24.5086323Z             },
2026-06-15T08:25:24.5086585Z             {
2026-06-15T08:25:24.5086966Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5087233Z               "line": 229
2026-06-15T08:25:24.5087505Z             },
2026-06-15T08:25:24.5087768Z             {
2026-06-15T08:25:24.5088144Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5088426Z               "line": 239
2026-06-15T08:25:24.5088688Z             },
2026-06-15T08:25:24.5089032Z             {
2026-06-15T08:25:24.5089420Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-15T08:25:24.5089700Z               "line": 249
2026-06-15T08:25:24.5089957Z             }
2026-06-15T08:25:24.5090214Z           ]
2026-06-15T08:25:24.5090476Z         }
2026-06-15T08:25:24.5090730Z       }
2026-06-15T08:25:24.5090997Z     },
2026-06-15T08:25:24.5091250Z     {
2026-06-15T08:25:24.5091585Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-15T08:25:24.5092093Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-15T08:25:24.5092381Z       "requiredStages": [
2026-06-15T08:25:24.5092644Z         "impl",
2026-06-15T08:25:24.5092896Z         "unit"
2026-06-15T08:25:24.5093149Z       ],
2026-06-15T08:25:24.5093420Z       "stages": {
2026-06-15T08:25:24.5093692Z         "doc": {
2026-06-15T08:25:24.5093987Z           "complete": false,
2026-06-15T08:25:24.5094269Z           "evidence": []
2026-06-15T08:25:24.5094527Z         },
2026-06-15T08:25:24.5094793Z         "impl": {
2026-06-15T08:25:24.5095086Z           "complete": true,
2026-06-15T08:25:24.5095358Z           "evidence": [
2026-06-15T08:25:24.5095624Z             {
2026-06-15T08:25:24.5095982Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.5096254Z               "line": 14
2026-06-15T08:25:24.5096521Z             },
2026-06-15T08:25:24.5096793Z             {
2026-06-15T08:25:24.5097141Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.5097413Z               "line": 62
2026-06-15T08:25:24.5097674Z             }
2026-06-15T08:25:24.5097941Z           ]
2026-06-15T08:25:24.5098198Z         },
2026-06-15T08:25:24.5098461Z         "int": {
2026-06-15T08:25:24.5098747Z           "complete": false,
2026-06-15T08:25:24.5099109Z           "evidence": []
2026-06-15T08:25:24.5099367Z         },
2026-06-15T08:25:24.5099634Z         "unit": {
2026-06-15T08:25:24.5099923Z           "complete": true,
2026-06-15T08:25:24.5100189Z           "evidence": [
2026-06-15T08:25:24.5100580Z             {
2026-06-15T08:25:24.5100923Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.5101200Z               "line": 160
2026-06-15T08:25:24.5101447Z             },
2026-06-15T08:25:24.5101719Z             {
2026-06-15T08:25:24.5102067Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.5102445Z               "line": 197
2026-06-15T08:25:24.5102699Z             },
2026-06-15T08:25:24.5102955Z             {
2026-06-15T08:25:24.5103298Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.5103579Z               "line": 219
2026-06-15T08:25:24.5103848Z             }
2026-06-15T08:25:24.5104110Z           ]
2026-06-15T08:25:24.5104363Z         }
2026-06-15T08:25:24.5104619Z       }
2026-06-15T08:25:24.5104886Z     },
2026-06-15T08:25:24.5105143Z     {
2026-06-15T08:25:24.5105465Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-15T08:25:24.5109490Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-15T08:25:24.5109818Z       "requiredStages": [],
2026-06-15T08:25:24.5110171Z       "stages": {
2026-06-15T08:25:24.5110441Z         "doc": {
2026-06-15T08:25:24.5110719Z           "complete": true,
2026-06-15T08:25:24.5111053Z           "evidence": [
2026-06-15T08:25:24.5111320Z             {
2026-06-15T08:25:24.5111693Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5111988Z               "line": 165
2026-06-15T08:25:24.5112241Z             }
2026-06-15T08:25:24.5112560Z           ]
2026-06-15T08:25:24.5112822Z         },
2026-06-15T08:25:24.5113095Z         "impl": {
2026-06-15T08:25:24.5113449Z           "complete": false,
2026-06-15T08:25:24.5113740Z           "evidence": []
2026-06-15T08:25:24.5114003Z         },
2026-06-15T08:25:24.5114332Z         "int": {
2026-06-15T08:25:24.5114627Z           "complete": false,
2026-06-15T08:25:24.5114904Z           "evidence": []
2026-06-15T08:25:24.5115214Z         },
2026-06-15T08:25:24.5115485Z         "unit": {
2026-06-15T08:25:24.5115793Z           "complete": false,
2026-06-15T08:25:24.5116173Z           "evidence": []
2026-06-15T08:25:24.5116435Z         }
2026-06-15T08:25:24.5116701Z       }
2026-06-15T08:25:24.5116960Z     },
2026-06-15T08:25:24.5117213Z     {
2026-06-15T08:25:24.5117584Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-15T08:25:24.5118261Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-15T08:25:24.5118556Z       "requiredStages": [
2026-06-15T08:25:24.5118814Z         "impl",
2026-06-15T08:25:24.5119195Z         "unit"
2026-06-15T08:25:24.5119462Z       ],
2026-06-15T08:25:24.5119735Z       "stages": {
2026-06-15T08:25:24.5120001Z         "doc": {
2026-06-15T08:25:24.5120282Z           "complete": false,
2026-06-15T08:25:24.5120563Z           "evidence": []
2026-06-15T08:25:24.5120820Z         },
2026-06-15T08:25:24.5121095Z         "impl": {
2026-06-15T08:25:24.5121376Z           "complete": true,
2026-06-15T08:25:24.5121662Z           "evidence": [
2026-06-15T08:25:24.5125230Z             {
2026-06-15T08:25:24.5125634Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5125921Z               "line": 76
2026-06-15T08:25:24.5126184Z             },
2026-06-15T08:25:24.5126444Z             {
2026-06-15T08:25:24.5126815Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5127091Z               "line": 167
2026-06-15T08:25:24.5127357Z             },
2026-06-15T08:25:24.5127619Z             {
2026-06-15T08:25:24.5127982Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5128258Z               "line": 233
2026-06-15T08:25:24.5128521Z             },
2026-06-15T08:25:24.5129023Z             {
2026-06-15T08:25:24.5129408Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5129689Z               "line": 272
2026-06-15T08:25:24.5129946Z             }
2026-06-15T08:25:24.5130212Z           ]
2026-06-15T08:25:24.5130470Z         },
2026-06-15T08:25:24.5130737Z         "int": {
2026-06-15T08:25:24.5131123Z           "complete": false,
2026-06-15T08:25:24.5131409Z           "evidence": []
2026-06-15T08:25:24.5131669Z         },
2026-06-15T08:25:24.5131931Z         "unit": {
2026-06-15T08:25:24.5132208Z           "complete": true,
2026-06-15T08:25:24.5132489Z           "evidence": [
2026-06-15T08:25:24.5132750Z             {
2026-06-15T08:25:24.5133113Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5133390Z               "line": 321
2026-06-15T08:25:24.5133657Z             },
2026-06-15T08:25:24.5133919Z             {
2026-06-15T08:25:24.5134281Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5134555Z               "line": 329
2026-06-15T08:25:24.5134818Z             },
2026-06-15T08:25:24.5135075Z             {
2026-06-15T08:25:24.5135428Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5135714Z               "line": 356
2026-06-15T08:25:24.5135961Z             },
2026-06-15T08:25:24.5136224Z             {
2026-06-15T08:25:24.5136600Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5136904Z               "line": 395
2026-06-15T08:25:24.5137169Z             },
2026-06-15T08:25:24.5137428Z             {
2026-06-15T08:25:24.5137799Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5138070Z               "line": 406
2026-06-15T08:25:24.5138338Z             },
2026-06-15T08:25:24.5138600Z             {
2026-06-15T08:25:24.5139052Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5139358Z               "line": 418
2026-06-15T08:25:24.5139621Z             },
2026-06-15T08:25:24.5139886Z             {
2026-06-15T08:25:24.5140249Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-15T08:25:24.5140526Z               "line": 442
2026-06-15T08:25:24.5140787Z             }
2026-06-15T08:25:24.5141049Z           ]
2026-06-15T08:25:24.5141302Z         }
2026-06-15T08:25:24.5141565Z       }
2026-06-15T08:25:24.5141828Z     },
2026-06-15T08:25:24.5142088Z     {
2026-06-15T08:25:24.5142415Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-15T08:25:24.5142901Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-15T08:25:24.5143239Z       "requiredStages": [
2026-06-15T08:25:24.5143502Z         "impl",
2026-06-15T08:25:24.5143816Z         "int"
2026-06-15T08:25:24.5144084Z       ],
2026-06-15T08:25:24.5144356Z       "stages": {
2026-06-15T08:25:24.5144681Z         "doc": {
2026-06-15T08:25:24.5144969Z           "complete": false,
2026-06-15T08:25:24.5145257Z           "evidence": []
2026-06-15T08:25:24.5145577Z         },
2026-06-15T08:25:24.5145844Z         "impl": {
2026-06-15T08:25:24.5146130Z           "complete": true,
2026-06-15T08:25:24.5146464Z           "evidence": [
2026-06-15T08:25:24.5146736Z             {
2026-06-15T08:25:24.5147151Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5147440Z               "line": 22
2026-06-15T08:25:24.5147696Z             }
2026-06-15T08:25:24.5148025Z           ]
2026-06-15T08:25:24.5148292Z         },
2026-06-15T08:25:24.5148545Z         "int": {
2026-06-15T08:25:24.5148832Z           "complete": true,
2026-06-15T08:25:24.5149227Z           "evidence": [
2026-06-15T08:25:24.5149499Z             {
2026-06-15T08:25:24.5149908Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-15T08:25:24.5150219Z               "line": 18
2026-06-15T08:25:24.5150499Z             }
2026-06-15T08:25:24.5150785Z           ]
2026-06-15T08:25:24.5151067Z         },
2026-06-15T08:25:24.5151352Z         "unit": {
2026-06-15T08:25:24.5151648Z           "complete": false,
2026-06-15T08:25:24.5151933Z           "evidence": []
2026-06-15T08:25:24.5152306Z         }
2026-06-15T08:25:24.5152572Z       }
2026-06-15T08:25:24.5152818Z     },
2026-06-15T08:25:24.5153080Z     {
2026-06-15T08:25:24.5153433Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-15T08:25:24.5154024Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-15T08:25:24.5154429Z       "requiredStages": [
2026-06-15T08:25:24.5154696Z         "impl",
2026-06-15T08:25:24.5154960Z         "unit"
2026-06-15T08:25:24.5155212Z       ],
2026-06-15T08:25:24.5155467Z       "stages": {
2026-06-15T08:25:24.5155727Z         "doc": {
2026-06-15T08:25:24.5156018Z           "complete": false,
2026-06-15T08:25:24.5156305Z           "evidence": []
2026-06-15T08:25:24.5156562Z         },
2026-06-15T08:25:24.5156834Z         "impl": {
2026-06-15T08:25:24.5157125Z           "complete": true,
2026-06-15T08:25:24.5157405Z           "evidence": [
2026-06-15T08:25:24.5157668Z             {
2026-06-15T08:25:24.5158053Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.5158332Z               "line": 415
2026-06-15T08:25:24.5158595Z             },
2026-06-15T08:25:24.5158857Z             {
2026-06-15T08:25:24.5159328Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5159596Z               "line": 27
2026-06-15T08:25:24.5159849Z             }
2026-06-15T08:25:24.5160121Z           ]
2026-06-15T08:25:24.5160379Z         },
2026-06-15T08:25:24.5160636Z         "int": {
2026-06-15T08:25:24.5160925Z           "complete": false,
2026-06-15T08:25:24.5161196Z           "evidence": []
2026-06-15T08:25:24.5161460Z         },
2026-06-15T08:25:24.5161727Z         "unit": {
2026-06-15T08:25:24.5162008Z           "complete": true,
2026-06-15T08:25:24.5162280Z           "evidence": [
2026-06-15T08:25:24.5162542Z             {
2026-06-15T08:25:24.5162924Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.5163203Z               "line": 940
2026-06-15T08:25:24.5163454Z             },
2026-06-15T08:25:24.5163716Z             {
2026-06-15T08:25:24.5164092Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5164374Z               "line": 181
2026-06-15T08:25:24.5164632Z             }
2026-06-15T08:25:24.5164890Z           ]
2026-06-15T08:25:24.5165138Z         }
2026-06-15T08:25:24.5165394Z       }
2026-06-15T08:25:24.5165657Z     },
2026-06-15T08:25:24.5165909Z     {
2026-06-15T08:25:24.5166245Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-15T08:25:24.5166741Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-15T08:25:24.5167026Z       "requiredStages": [
2026-06-15T08:25:24.5167284Z         "impl",
2026-06-15T08:25:24.5167551Z         "unit"
2026-06-15T08:25:24.5167809Z       ],
2026-06-15T08:25:24.5168077Z       "stages": {
2026-06-15T08:25:24.5168339Z         "doc": {
2026-06-15T08:25:24.5168627Z           "complete": false,
2026-06-15T08:25:24.5168911Z           "evidence": []
2026-06-15T08:25:24.5169269Z         },
2026-06-15T08:25:24.5169545Z         "impl": {
2026-06-15T08:25:24.5169831Z           "complete": true,
2026-06-15T08:25:24.5170103Z           "evidence": [
2026-06-15T08:25:24.5170371Z             {
2026-06-15T08:25:24.5170752Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.5171028Z               "line": 73
2026-06-15T08:25:24.5171292Z             },
2026-06-15T08:25:24.5171552Z             {
2026-06-15T08:25:24.5171934Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.5172220Z               "line": 941
2026-06-15T08:25:24.5172477Z             },
2026-06-15T08:25:24.5172739Z             {
2026-06-15T08:25:24.5173102Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5173373Z               "line": 20
2026-06-15T08:25:24.5173630Z             },
2026-06-15T08:25:24.5173887Z             {
2026-06-15T08:25:24.5174249Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5174529Z               "line": 100
2026-06-15T08:25:24.5174901Z             },
2026-06-15T08:25:24.5175164Z             {
2026-06-15T08:25:24.5175506Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-15T08:25:24.5175779Z               "line": 555
2026-06-15T08:25:24.5176037Z             },
2026-06-15T08:25:24.5176298Z             {
2026-06-15T08:25:24.5176678Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-15T08:25:24.5177058Z               "line": 68
2026-06-15T08:25:24.5177330Z             },
2026-06-15T08:25:24.5177586Z             {
2026-06-15T08:25:24.5177974Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-15T08:25:24.5178245Z               "line": 80
2026-06-15T08:25:24.5178502Z             }
2026-06-15T08:25:24.5178754Z           ]
2026-06-15T08:25:24.5179083Z         },
2026-06-15T08:25:24.5179353Z         "int": {
2026-06-15T08:25:24.5179630Z           "complete": true,
2026-06-15T08:25:24.5179907Z           "evidence": [
2026-06-15T08:25:24.5180158Z             {
2026-06-15T08:25:24.5180517Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-15T08:25:24.5180783Z               "line": 44
2026-06-15T08:25:24.5181045Z             }
2026-06-15T08:25:24.5181302Z           ]
2026-06-15T08:25:24.5181565Z         },
2026-06-15T08:25:24.5181829Z         "unit": {
2026-06-15T08:25:24.5182112Z           "complete": true,
2026-06-15T08:25:24.5182393Z           "evidence": [
2026-06-15T08:25:24.5182651Z             {
2026-06-15T08:25:24.5183028Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.5183313Z               "line": 1141
2026-06-15T08:25:24.5183572Z             },
2026-06-15T08:25:24.5183838Z             {
2026-06-15T08:25:24.5184219Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.5184498Z               "line": 1157
2026-06-15T08:25:24.5184761Z             },
2026-06-15T08:25:24.5185008Z             {
2026-06-15T08:25:24.5185366Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5185657Z               "line": 1488
2026-06-15T08:25:24.5185914Z             },
2026-06-15T08:25:24.5186176Z             {
2026-06-15T08:25:24.5186544Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5186820Z               "line": 152
2026-06-15T08:25:24.5187072Z             },
2026-06-15T08:25:24.5187328Z             {
2026-06-15T08:25:24.5187690Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5187970Z               "line": 175
2026-06-15T08:25:24.5188229Z             },
2026-06-15T08:25:24.5188481Z             {
2026-06-15T08:25:24.5188839Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5189197Z               "line": 186
2026-06-15T08:25:24.5189460Z             },
2026-06-15T08:25:24.5189710Z             {
2026-06-15T08:25:24.5190069Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5190346Z               "line": 202
2026-06-15T08:25:24.5190604Z             },
2026-06-15T08:25:24.5190866Z             {
2026-06-15T08:25:24.5191229Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-15T08:25:24.5191514Z               "line": 216
2026-06-15T08:25:24.5191759Z             },
2026-06-15T08:25:24.5192021Z             {
2026-06-15T08:25:24.5192403Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-15T08:25:24.5192682Z               "line": 137
2026-06-15T08:25:24.5192944Z             },
2026-06-15T08:25:24.5193201Z             {
2026-06-15T08:25:24.5193530Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5193798Z               "line": 6583
2026-06-15T08:25:24.5194060Z             },
2026-06-15T08:25:24.5194323Z             {
2026-06-15T08:25:24.5194675Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-15T08:25:24.5194951Z               "line": 30
2026-06-15T08:25:24.5195215Z             },
2026-06-15T08:25:24.5195482Z             {
2026-06-15T08:25:24.5195835Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-15T08:25:24.5196106Z               "line": 73
2026-06-15T08:25:24.5196503Z             }
2026-06-15T08:25:24.5196760Z           ]
2026-06-15T08:25:24.5197023Z         }
2026-06-15T08:25:24.5197280Z       }
2026-06-15T08:25:24.5197534Z     },
2026-06-15T08:25:24.5197779Z     {
2026-06-15T08:25:24.5198092Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-15T08:25:24.5198874Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-15T08:25:24.5199327Z       "requiredStages": [
2026-06-15T08:25:24.5199594Z         "impl",
2026-06-15T08:25:24.5199856Z         "unit"
2026-06-15T08:25:24.5200115Z       ],
2026-06-15T08:25:24.5200375Z       "stages": {
2026-06-15T08:25:24.5200634Z         "doc": {
2026-06-15T08:25:24.5200925Z           "complete": true,
2026-06-15T08:25:24.5201187Z           "evidence": [
2026-06-15T08:25:24.5201456Z             {
2026-06-15T08:25:24.5201774Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5202051Z               "line": 133
2026-06-15T08:25:24.5202310Z             }
2026-06-15T08:25:24.5202572Z           ]
2026-06-15T08:25:24.5202823Z         },
2026-06-15T08:25:24.5203070Z         "impl": {
2026-06-15T08:25:24.5203357Z           "complete": true,
2026-06-15T08:25:24.5203624Z           "evidence": [
2026-06-15T08:25:24.5203882Z             {
2026-06-15T08:25:24.5204216Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.5204501Z               "line": 65
2026-06-15T08:25:24.5204768Z             },
2026-06-15T08:25:24.5205015Z             {
2026-06-15T08:25:24.5205349Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5205618Z               "line": 17
2026-06-15T08:25:24.5205876Z             },
2026-06-15T08:25:24.5206119Z             {
2026-06-15T08:25:24.5206501Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.5206778Z               "line": 146
2026-06-15T08:25:24.5207034Z             },
2026-06-15T08:25:24.5207297Z             {
2026-06-15T08:25:24.5207654Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.5207940Z               "line": 249
2026-06-15T08:25:24.5208183Z             },
2026-06-15T08:25:24.5208430Z             {
2026-06-15T08:25:24.5208791Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.5209130Z               "line": 359
2026-06-15T08:25:24.5209401Z             },
2026-06-15T08:25:24.5209654Z             {
2026-06-15T08:25:24.5210012Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.5210279Z               "line": 32
2026-06-15T08:25:24.5210536Z             },
2026-06-15T08:25:24.5210792Z             {
2026-06-15T08:25:24.5211114Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5211400Z               "line": 1171
2026-06-15T08:25:24.5211657Z             },
2026-06-15T08:25:24.5211925Z             {
2026-06-15T08:25:24.5212250Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5212531Z               "line": 5291
2026-06-15T08:25:24.5212788Z             },
2026-06-15T08:25:24.5213054Z             {
2026-06-15T08:25:24.5213379Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5213664Z               "line": 5573
2026-06-15T08:25:24.5213922Z             }
2026-06-15T08:25:24.5214179Z           ]
2026-06-15T08:25:24.5214447Z         },
2026-06-15T08:25:24.5214708Z         "int": {
2026-06-15T08:25:24.5214994Z           "complete": false,
2026-06-15T08:25:24.5215270Z           "evidence": []
2026-06-15T08:25:24.5215528Z         },
2026-06-15T08:25:24.5215796Z         "unit": {
2026-06-15T08:25:24.5216081Z           "complete": true,
2026-06-15T08:25:24.5216350Z           "evidence": [
2026-06-15T08:25:24.5216606Z             {
2026-06-15T08:25:24.5216945Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5217222Z               "line": 94
2026-06-15T08:25:24.5217484Z             },
2026-06-15T08:25:24.5217747Z             {
2026-06-15T08:25:24.5218090Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5218477Z               "line": 111
2026-06-15T08:25:24.5218738Z             },
2026-06-15T08:25:24.5219074Z             {
2026-06-15T08:25:24.5219413Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5219685Z               "line": 124
2026-06-15T08:25:24.5219947Z             },
2026-06-15T08:25:24.5220205Z             {
2026-06-15T08:25:24.5220648Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5220929Z               "line": 134
2026-06-15T08:25:24.5221187Z             },
2026-06-15T08:25:24.5221452Z             {
2026-06-15T08:25:24.5221793Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5222079Z               "line": 144
2026-06-15T08:25:24.5222341Z             },
2026-06-15T08:25:24.5222600Z             {
2026-06-15T08:25:24.5222938Z               "path": "crates/spt-proto/src/id.rs",
2026-06-15T08:25:24.5223204Z               "line": 156
2026-06-15T08:25:24.5223472Z             },
2026-06-15T08:25:24.5223735Z             {
2026-06-15T08:25:24.5224135Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.5224416Z               "line": 746
2026-06-15T08:25:24.5224673Z             },
2026-06-15T08:25:24.5224934Z             {
2026-06-15T08:25:24.5225307Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.5225583Z               "line": 309
2026-06-15T08:25:24.5225850Z             }
2026-06-15T08:25:24.5226112Z           ]
2026-06-15T08:25:24.5226366Z         }
2026-06-15T08:25:24.5226621Z       }
2026-06-15T08:25:24.5226876Z     },
2026-06-15T08:25:24.5227119Z     {
2026-06-15T08:25:24.5227453Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-15T08:25:24.5227859Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-15T08:25:24.5228154Z       "requiredStages": [
2026-06-15T08:25:24.5228421Z         "impl",
2026-06-15T08:25:24.5228684Z         "unit"
2026-06-15T08:25:24.5229022Z       ],
2026-06-15T08:25:24.5229284Z       "stages": {
2026-06-15T08:25:24.5229550Z         "doc": {
2026-06-15T08:25:24.5229849Z           "complete": false,
2026-06-15T08:25:24.5230131Z           "evidence": []
2026-06-15T08:25:24.5230397Z         },
2026-06-15T08:25:24.5230664Z         "impl": {
2026-06-15T08:25:24.5230950Z           "complete": true,
2026-06-15T08:25:24.5231231Z           "evidence": [
2026-06-15T08:25:24.5231499Z             {
2026-06-15T08:25:24.5231856Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.5232131Z               "line": 128
2026-06-15T08:25:24.5232392Z             }
2026-06-15T08:25:24.5232653Z           ]
2026-06-15T08:25:24.5232915Z         },
2026-06-15T08:25:24.5233178Z         "int": {
2026-06-15T08:25:24.5233464Z           "complete": false,
2026-06-15T08:25:24.5233746Z           "evidence": []
2026-06-15T08:25:24.5234009Z         },
2026-06-15T08:25:24.5234276Z         "unit": {
2026-06-15T08:25:24.5234562Z           "complete": true,
2026-06-15T08:25:24.5234841Z           "evidence": [
2026-06-15T08:25:24.5235099Z             {
2026-06-15T08:25:24.5235461Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.5235743Z               "line": 205
2026-06-15T08:25:24.5236009Z             }
2026-06-15T08:25:24.5236263Z           ]
2026-06-15T08:25:24.5236512Z         }
2026-06-15T08:25:24.5236773Z       }
2026-06-15T08:25:24.5237034Z     },
2026-06-15T08:25:24.5237304Z     {
2026-06-15T08:25:24.5237651Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-15T08:25:24.5238119Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-15T08:25:24.5238420Z       "requiredStages": [
2026-06-15T08:25:24.5238671Z         "impl",
2026-06-15T08:25:24.5239029Z         "unit"
2026-06-15T08:25:24.5239286Z       ],
2026-06-15T08:25:24.5239558Z       "stages": {
2026-06-15T08:25:24.5239812Z         "doc": {
2026-06-15T08:25:24.5240106Z           "complete": false,
2026-06-15T08:25:24.5240380Z           "evidence": []
2026-06-15T08:25:24.5240642Z         },
2026-06-15T08:25:24.5240904Z         "impl": {
2026-06-15T08:25:24.5241301Z           "complete": true,
2026-06-15T08:25:24.5241572Z           "evidence": [
2026-06-15T08:25:24.5241834Z             {
2026-06-15T08:25:24.5242183Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5242463Z               "line": 272
2026-06-15T08:25:24.5242714Z             },
2026-06-15T08:25:24.5243066Z             {
2026-06-15T08:25:24.5243423Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5243705Z               "line": 283
2026-06-15T08:25:24.5243958Z             },
2026-06-15T08:25:24.5244212Z             {
2026-06-15T08:25:24.5244564Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5244846Z               "line": 301
2026-06-15T08:25:24.5245117Z             }
2026-06-15T08:25:24.5245373Z           ]
2026-06-15T08:25:24.5245635Z         },
2026-06-15T08:25:24.5245898Z         "int": {
2026-06-15T08:25:24.5246184Z           "complete": false,
2026-06-15T08:25:24.5246470Z           "evidence": []
2026-06-15T08:25:24.5246737Z         },
2026-06-15T08:25:24.5247003Z         "unit": {
2026-06-15T08:25:24.5247280Z           "complete": true,
2026-06-15T08:25:24.5247551Z           "evidence": [
2026-06-15T08:25:24.5247813Z             {
2026-06-15T08:25:24.5248151Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5248431Z               "line": 325
2026-06-15T08:25:24.5248699Z             },
2026-06-15T08:25:24.5249032Z             {
2026-06-15T08:25:24.5249385Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5249672Z               "line": 346
2026-06-15T08:25:24.5249924Z             },
2026-06-15T08:25:24.5250181Z             {
2026-06-15T08:25:24.5250523Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5250797Z               "line": 574
2026-06-15T08:25:24.5251060Z             },
2026-06-15T08:25:24.5251322Z             {
2026-06-15T08:25:24.5251660Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5251928Z               "line": 585
2026-06-15T08:25:24.5252205Z             },
2026-06-15T08:25:24.5252466Z             {
2026-06-15T08:25:24.5252815Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.5253094Z               "line": 598
2026-06-15T08:25:24.5253345Z             }
2026-06-15T08:25:24.5253603Z           ]
2026-06-15T08:25:24.5253870Z         }
2026-06-15T08:25:24.5254133Z       }
2026-06-15T08:25:24.5254389Z     },
2026-06-15T08:25:24.5254637Z     {
2026-06-15T08:25:24.5255057Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-15T08:25:24.5257073Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-15T08:25:24.5257430Z       "requiredStages": [
2026-06-15T08:25:24.5257707Z         "impl",
2026-06-15T08:25:24.5257971Z         "unit"
2026-06-15T08:25:24.5258288Z       ],
2026-06-15T08:25:24.5258547Z       "stages": {
2026-06-15T08:25:24.5258823Z         "doc": {
2026-06-15T08:25:24.5259220Z           "complete": false,
2026-06-15T08:25:24.5259540Z           "evidence": []
2026-06-15T08:25:24.5259811Z         },
2026-06-15T08:25:24.5260121Z         "impl": {
2026-06-15T08:25:24.5260412Z           "complete": true,
2026-06-15T08:25:24.5260688Z           "evidence": [
2026-06-15T08:25:24.5260951Z             {
2026-06-15T08:25:24.5261333Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5261616Z               "line": 759
2026-06-15T08:25:24.5261878Z             }
2026-06-15T08:25:24.5262135Z           ]
2026-06-15T08:25:24.5262397Z         },
2026-06-15T08:25:24.5262664Z         "int": {
2026-06-15T08:25:24.5262954Z           "complete": false,
2026-06-15T08:25:24.5263235Z           "evidence": []
2026-06-15T08:25:24.5263489Z         },
2026-06-15T08:25:24.5263755Z         "unit": {
2026-06-15T08:25:24.5264038Z           "complete": true,
2026-06-15T08:25:24.5264310Z           "evidence": [
2026-06-15T08:25:24.5264678Z             {
2026-06-15T08:25:24.5265064Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5265337Z               "line": 873
2026-06-15T08:25:24.5265598Z             }
2026-06-15T08:25:24.5265865Z           ]
2026-06-15T08:25:24.5266127Z         }
2026-06-15T08:25:24.5266375Z       }
2026-06-15T08:25:24.5266746Z     },
2026-06-15T08:25:24.5267013Z     {
2026-06-15T08:25:24.5267338Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-15T08:25:24.5268014Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-15T08:25:24.5268305Z       "requiredStages": [
2026-06-15T08:25:24.5268559Z         "impl",
2026-06-15T08:25:24.5268833Z         "unit"
2026-06-15T08:25:24.5269213Z       ],
2026-06-15T08:25:24.5269490Z       "stages": {
2026-06-15T08:25:24.5269741Z         "doc": {
2026-06-15T08:25:24.5270037Z           "complete": false,
2026-06-15T08:25:24.5270314Z           "evidence": []
2026-06-15T08:25:24.5270576Z         },
2026-06-15T08:25:24.5270844Z         "impl": {
2026-06-15T08:25:24.5271125Z           "complete": true,
2026-06-15T08:25:24.5271403Z           "evidence": [
2026-06-15T08:25:24.5271662Z             {
2026-06-15T08:25:24.5272018Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5272289Z               "line": 14
2026-06-15T08:25:24.5272561Z             },
2026-06-15T08:25:24.5272829Z             {
2026-06-15T08:25:24.5273158Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.5273438Z               "line": 449
2026-06-15T08:25:24.5273697Z             }
2026-06-15T08:25:24.5273955Z           ]
2026-06-15T08:25:24.5274214Z         },
2026-06-15T08:25:24.5274475Z         "int": {
2026-06-15T08:25:24.5274765Z           "complete": false,
2026-06-15T08:25:24.5275033Z           "evidence": []
2026-06-15T08:25:24.5275296Z         },
2026-06-15T08:25:24.5275558Z         "unit": {
2026-06-15T08:25:24.5275848Z           "complete": true,
2026-06-15T08:25:24.5276125Z           "evidence": [
2026-06-15T08:25:24.5276387Z             {
2026-06-15T08:25:24.5276725Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5277001Z               "line": 130
2026-06-15T08:25:24.5277260Z             },
2026-06-15T08:25:24.5277512Z             {
2026-06-15T08:25:24.5277860Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5278156Z               "line": 138
2026-06-15T08:25:24.5278408Z             },
2026-06-15T08:25:24.5278670Z             {
2026-06-15T08:25:24.5279147Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5279432Z               "line": 146
2026-06-15T08:25:24.5279691Z             },
2026-06-15T08:25:24.5279953Z             {
2026-06-15T08:25:24.5280296Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5280574Z               "line": 154
2026-06-15T08:25:24.5280831Z             },
2026-06-15T08:25:24.5281093Z             {
2026-06-15T08:25:24.5281437Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5281714Z               "line": 162
2026-06-15T08:25:24.5281982Z             },
2026-06-15T08:25:24.5282246Z             {
2026-06-15T08:25:24.5282583Z               "path": "crates/spt/src/api/auth.rs",
2026-06-15T08:25:24.5282859Z               "line": 170
2026-06-15T08:25:24.5283112Z             }
2026-06-15T08:25:24.5283384Z           ]
2026-06-15T08:25:24.5283632Z         }
2026-06-15T08:25:24.5283895Z       }
2026-06-15T08:25:24.5284156Z     },
2026-06-15T08:25:24.5284409Z     {
2026-06-15T08:25:24.5284742Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-15T08:25:24.5287637Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-15T08:25:24.5287942Z       "requiredStages": [
2026-06-15T08:25:24.5288214Z         "impl",
2026-06-15T08:25:24.5288619Z         "unit"
2026-06-15T08:25:24.5288872Z       ],
2026-06-15T08:25:24.5289201Z       "stages": {
2026-06-15T08:25:24.5289473Z         "doc": {
2026-06-15T08:25:24.5289763Z           "complete": false,
2026-06-15T08:25:24.5290043Z           "evidence": []
2026-06-15T08:25:24.5290305Z         },
2026-06-15T08:25:24.5290682Z         "impl": {
2026-06-15T08:25:24.5290972Z           "complete": true,
2026-06-15T08:25:24.5291249Z           "evidence": [
2026-06-15T08:25:24.5291506Z             {
2026-06-15T08:25:24.5291954Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5292232Z               "line": 34
2026-06-15T08:25:24.5292494Z             }
2026-06-15T08:25:24.5292753Z           ]
2026-06-15T08:25:24.5293029Z         },
2026-06-15T08:25:24.5293286Z         "int": {
2026-06-15T08:25:24.5293582Z           "complete": false,
2026-06-15T08:25:24.5293863Z           "evidence": []
2026-06-15T08:25:24.5294126Z         },
2026-06-15T08:25:24.5294402Z         "unit": {
2026-06-15T08:25:24.5294678Z           "complete": true,
2026-06-15T08:25:24.5294960Z           "evidence": [
2026-06-15T08:25:24.5295217Z             {
2026-06-15T08:25:24.5295652Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5295919Z               "line": 188
2026-06-15T08:25:24.5296182Z             },
2026-06-15T08:25:24.5296449Z             {
2026-06-15T08:25:24.5296887Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5297164Z               "line": 200
2026-06-15T08:25:24.5297421Z             },
2026-06-15T08:25:24.5297694Z             {
2026-06-15T08:25:24.5298126Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5298404Z               "line": 211
2026-06-15T08:25:24.5298665Z             },
2026-06-15T08:25:24.5298928Z             {
2026-06-15T08:25:24.5299456Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5299738Z               "line": 253
2026-06-15T08:25:24.5300004Z             },
2026-06-15T08:25:24.5300254Z             {
2026-06-15T08:25:24.5300688Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5300970Z               "line": 277
2026-06-15T08:25:24.5301222Z             },
2026-06-15T08:25:24.5301480Z             {
2026-06-15T08:25:24.5301918Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5302200Z               "line": 300
2026-06-15T08:25:24.5302458Z             },
2026-06-15T08:25:24.5302725Z             {
2026-06-15T08:25:24.5303168Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-15T08:25:24.5303443Z               "line": 316
2026-06-15T08:25:24.5303707Z             }
2026-06-15T08:25:24.5303974Z           ]
2026-06-15T08:25:24.5304232Z         }
2026-06-15T08:25:24.5304490Z       }
2026-06-15T08:25:24.5304743Z     },
2026-06-15T08:25:24.5305001Z     {
2026-06-15T08:25:24.5305335Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-15T08:25:24.5307085Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-15T08:25:24.5307366Z       "requiredStages": [
2026-06-15T08:25:24.5307638Z         "impl",
2026-06-15T08:25:24.5307901Z         "unit"
2026-06-15T08:25:24.5308163Z       ],
2026-06-15T08:25:24.5308434Z       "stages": {
2026-06-15T08:25:24.5308691Z         "doc": {
2026-06-15T08:25:24.5309062Z           "complete": false,
2026-06-15T08:25:24.5309335Z           "evidence": []
2026-06-15T08:25:24.5309592Z         },
2026-06-15T08:25:24.5309860Z         "impl": {
2026-06-15T08:25:24.5310141Z           "complete": true,
2026-06-15T08:25:24.5310418Z           "evidence": [
2026-06-15T08:25:24.5310669Z             {
2026-06-15T08:25:24.5311035Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5311415Z               "line": 29
2026-06-15T08:25:24.5311677Z             },
2026-06-15T08:25:24.5311939Z             {
2026-06-15T08:25:24.5312301Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5312587Z               "line": 174
2026-06-15T08:25:24.5312846Z             },
2026-06-15T08:25:24.5313103Z             {
2026-06-15T08:25:24.5313585Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5313865Z               "line": 194
2026-06-15T08:25:24.5314129Z             },
2026-06-15T08:25:24.5314388Z             {
2026-06-15T08:25:24.5314749Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5315036Z               "line": 222
2026-06-15T08:25:24.5315298Z             }
2026-06-15T08:25:24.5315556Z           ]
2026-06-15T08:25:24.5315817Z         },
2026-06-15T08:25:24.5316085Z         "int": {
2026-06-15T08:25:24.5316370Z           "complete": false,
2026-06-15T08:25:24.5316644Z           "evidence": []
2026-06-15T08:25:24.5316897Z         },
2026-06-15T08:25:24.5317179Z         "unit": {
2026-06-15T08:25:24.5317459Z           "complete": true,
2026-06-15T08:25:24.5317740Z           "evidence": [
2026-06-15T08:25:24.5318007Z             {
2026-06-15T08:25:24.5318365Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5318642Z               "line": 329
2026-06-15T08:25:24.5318904Z             },
2026-06-15T08:25:24.5319237Z             {
2026-06-15T08:25:24.5319594Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5319876Z               "line": 344
2026-06-15T08:25:24.5320129Z             },
2026-06-15T08:25:24.5320391Z             {
2026-06-15T08:25:24.5323720Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5324039Z               "line": 417
2026-06-15T08:25:24.5324307Z             },
2026-06-15T08:25:24.5324563Z             {
2026-06-15T08:25:24.5324938Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5325224Z               "line": 433
2026-06-15T08:25:24.5325501Z             },
2026-06-15T08:25:24.5325767Z             {
2026-06-15T08:25:24.5326126Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5326397Z               "line": 492
2026-06-15T08:25:24.5326673Z             },
2026-06-15T08:25:24.5326930Z             {
2026-06-15T08:25:24.5327276Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5327552Z               "line": 506
2026-06-15T08:25:24.5327815Z             },
2026-06-15T08:25:24.5328077Z             {
2026-06-15T08:25:24.5328449Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5328716Z               "line": 517
2026-06-15T08:25:24.5329050Z             },
2026-06-15T08:25:24.5329313Z             {
2026-06-15T08:25:24.5329671Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.5329949Z               "line": 528
2026-06-15T08:25:24.5330211Z             }
2026-06-15T08:25:24.5330474Z           ]
2026-06-15T08:25:24.5330737Z         }
2026-06-15T08:25:24.5330984Z       }
2026-06-15T08:25:24.5331248Z     },
2026-06-15T08:25:24.5331504Z     {
2026-06-15T08:25:24.5331867Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-15T08:25:24.5333818Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-15T08:25:24.5334133Z       "requiredStages": [
2026-06-15T08:25:24.5334410Z         "impl",
2026-06-15T08:25:24.5334666Z         "unit"
2026-06-15T08:25:24.5334923Z       ],
2026-06-15T08:25:24.5335189Z       "stages": {
2026-06-15T08:25:24.5335465Z         "doc": {
2026-06-15T08:25:24.5335747Z           "complete": false,
2026-06-15T08:25:24.5336032Z           "evidence": []
2026-06-15T08:25:24.5336294Z         },
2026-06-15T08:25:24.5336561Z         "impl": {
2026-06-15T08:25:24.5336857Z           "complete": true,
2026-06-15T08:25:24.5337119Z           "evidence": [
2026-06-15T08:25:24.5337523Z             {
2026-06-15T08:25:24.5337931Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5338212Z               "line": 27
2026-06-15T08:25:24.5338474Z             },
2026-06-15T08:25:24.5338733Z             {
2026-06-15T08:25:24.5339219Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5339606Z               "line": 110
2026-06-15T08:25:24.5339863Z             },
2026-06-15T08:25:24.5340120Z             {
2026-06-15T08:25:24.5340514Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5340795Z               "line": 153
2026-06-15T08:25:24.5341048Z             },
2026-06-15T08:25:24.5341320Z             {
2026-06-15T08:25:24.5341720Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5342007Z               "line": 182
2026-06-15T08:25:24.5342269Z             },
2026-06-15T08:25:24.5342532Z             {
2026-06-15T08:25:24.5342976Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5343258Z               "line": 31
2026-06-15T08:25:24.5343515Z             },
2026-06-15T08:25:24.5343759Z             {
2026-06-15T08:25:24.5344211Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5344488Z               "line": 113
2026-06-15T08:25:24.5344751Z             },
2026-06-15T08:25:24.5345013Z             {
2026-06-15T08:25:24.5345455Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5345730Z               "line": 138
2026-06-15T08:25:24.5345991Z             }
2026-06-15T08:25:24.5346258Z           ]
2026-06-15T08:25:24.5346529Z         },
2026-06-15T08:25:24.5346797Z         "int": {
2026-06-15T08:25:24.5347093Z           "complete": false,
2026-06-15T08:25:24.5347364Z           "evidence": []
2026-06-15T08:25:24.5347618Z         },
2026-06-15T08:25:24.5347885Z         "unit": {
2026-06-15T08:25:24.5348563Z           "complete": true,
2026-06-15T08:25:24.5349377Z           "evidence": [
2026-06-15T08:25:24.5350007Z             {
2026-06-15T08:25:24.5350724Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5351627Z               "line": 261
2026-06-15T08:25:24.5352281Z             },
2026-06-15T08:25:24.5352857Z             {
2026-06-15T08:25:24.5353579Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5354480Z               "line": 276
2026-06-15T08:25:24.5355129Z             },
2026-06-15T08:25:24.5355701Z             {
2026-06-15T08:25:24.5356412Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5357310Z               "line": 293
2026-06-15T08:25:24.5357957Z             },
2026-06-15T08:25:24.5358536Z             {
2026-06-15T08:25:24.5359308Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5360201Z               "line": 310
2026-06-15T08:25:24.5360844Z             },
2026-06-15T08:25:24.5361426Z             {
2026-06-15T08:25:24.5362187Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5363098Z               "line": 327
2026-06-15T08:25:24.5363746Z             },
2026-06-15T08:25:24.5364317Z             {
2026-06-15T08:25:24.5365031Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.5365923Z               "line": 366
2026-06-15T08:25:24.5366561Z             },
2026-06-15T08:25:24.5367136Z             {
2026-06-15T08:25:24.5367879Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5368818Z               "line": 179
2026-06-15T08:25:24.5369544Z             },
2026-06-15T08:25:24.5370108Z             {
2026-06-15T08:25:24.5370866Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5371815Z               "line": 194
2026-06-15T08:25:24.5372452Z             },
2026-06-15T08:25:24.5373019Z             {
2026-06-15T08:25:24.5373769Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5374838Z               "line": 204
2026-06-15T08:25:24.5375482Z             },
2026-06-15T08:25:24.5376064Z             {
2026-06-15T08:25:24.5376806Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5377734Z               "line": 259
2026-06-15T08:25:24.5378506Z             },
2026-06-15T08:25:24.5379178Z             {
2026-06-15T08:25:24.5379921Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5380845Z               "line": 269
2026-06-15T08:25:24.5381484Z             },
2026-06-15T08:25:24.5382055Z             {
2026-06-15T08:25:24.5382803Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.5383738Z               "line": 283
2026-06-15T08:25:24.5384367Z             }
2026-06-15T08:25:24.5384923Z           ]
2026-06-15T08:25:24.5385470Z         }
2026-06-15T08:25:24.5386019Z       }
2026-06-15T08:25:24.5386547Z     },
2026-06-15T08:25:24.5387095Z     {
2026-06-15T08:25:24.5387710Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-15T08:25:24.5388828Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-15T08:25:24.5389991Z       "requiredStages": [],
2026-06-15T08:25:24.5390780Z       "stages": {
2026-06-15T08:25:24.5391380Z         "doc": {
2026-06-15T08:25:24.5391990Z           "complete": false,
2026-06-15T08:25:24.5392683Z           "evidence": []
2026-06-15T08:25:24.5393305Z         },
2026-06-15T08:25:24.5393867Z         "impl": {
2026-06-15T08:25:24.5394492Z           "complete": false,
2026-06-15T08:25:24.5395194Z           "evidence": []
2026-06-15T08:25:24.5395824Z         },
2026-06-15T08:25:24.5396382Z         "int": {
2026-06-15T08:25:24.5396984Z           "complete": false,
2026-06-15T08:25:24.5397670Z           "evidence": []
2026-06-15T08:25:24.5398298Z         },
2026-06-15T08:25:24.5398845Z         "unit": {
2026-06-15T08:25:24.5399517Z           "complete": false,
2026-06-15T08:25:24.5400213Z           "evidence": []
2026-06-15T08:25:24.5400846Z         }
2026-06-15T08:25:24.5401393Z       }
2026-06-15T08:25:24.5401926Z     },
2026-06-15T08:25:24.5402465Z     {
2026-06-15T08:25:24.5403109Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-15T08:25:24.5406025Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-15T08:25:24.5408655Z       "requiredStages": [
2026-06-15T08:25:24.5409391Z         "impl",
2026-06-15T08:25:24.5409973Z         "unit"
2026-06-15T08:25:24.5410548Z       ],
2026-06-15T08:25:24.5411097Z       "stages": {
2026-06-15T08:25:24.5411672Z         "doc": {
2026-06-15T08:25:24.5412277Z           "complete": false,
2026-06-15T08:25:24.5412958Z           "evidence": []
2026-06-15T08:25:24.5413592Z         },
2026-06-15T08:25:24.5414161Z         "impl": {
2026-06-15T08:25:24.5414760Z           "complete": true,
2026-06-15T08:25:24.5415437Z           "evidence": [
2026-06-15T08:25:24.5416058Z             {
2026-06-15T08:25:24.5416751Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5417603Z               "line": 26
2026-06-15T08:25:24.5418237Z             },
2026-06-15T08:25:24.5418819Z             {
2026-06-15T08:25:24.5419585Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5420441Z               "line": 95
2026-06-15T08:25:24.5421070Z             },
2026-06-15T08:25:24.5421637Z             {
2026-06-15T08:25:24.5422312Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5423170Z               "line": 166
2026-06-15T08:25:24.5423805Z             },
2026-06-15T08:25:24.5424368Z             {
2026-06-15T08:25:24.5425044Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5425868Z               "line": 19
2026-06-15T08:25:24.5426637Z             },
2026-06-15T08:25:24.5427202Z             {
2026-06-15T08:25:24.5427872Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5428707Z               "line": 50
2026-06-15T08:25:24.5429393Z             },
2026-06-15T08:25:24.5429960Z             {
2026-06-15T08:25:24.5430606Z               "path": "crates/spt-live/src/turn.rs",
2026-06-15T08:25:24.5431521Z               "line": 18
2026-06-15T08:25:24.5432165Z             },
2026-06-15T08:25:24.5432722Z             {
2026-06-15T08:25:24.5433383Z               "path": "crates/spt-live/src/turn.rs",
2026-06-15T08:25:24.5434202Z               "line": 71
2026-06-15T08:25:24.5434832Z             },
2026-06-15T08:25:24.5435408Z             {
2026-06-15T08:25:24.5436065Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.5436901Z               "line": 79
2026-06-15T08:25:24.5437526Z             }
2026-06-15T08:25:24.5438094Z           ]
2026-06-15T08:25:24.5438642Z         },
2026-06-15T08:25:24.5439257Z         "int": {
2026-06-15T08:25:24.5439867Z           "complete": false,
2026-06-15T08:25:24.5440562Z           "evidence": []
2026-06-15T08:25:24.5441185Z         },
2026-06-15T08:25:24.5441734Z         "unit": {
2026-06-15T08:25:24.5442339Z           "complete": true,
2026-06-15T08:25:24.5443012Z           "evidence": [
2026-06-15T08:25:24.5443647Z             {
2026-06-15T08:25:24.5444310Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5445169Z               "line": 289
2026-06-15T08:25:24.5445813Z             },
2026-06-15T08:25:24.5446396Z             {
2026-06-15T08:25:24.5447075Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5447922Z               "line": 308
2026-06-15T08:25:24.5448549Z             },
2026-06-15T08:25:24.5449173Z             {
2026-06-15T08:25:24.5449865Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5450723Z               "line": 336
2026-06-15T08:25:24.5451364Z             },
2026-06-15T08:25:24.5451941Z             {
2026-06-15T08:25:24.5452622Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5453482Z               "line": 399
2026-06-15T08:25:24.5454121Z             },
2026-06-15T08:25:24.5454698Z             {
2026-06-15T08:25:24.5455366Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5456229Z               "line": 410
2026-06-15T08:25:24.5456871Z             },
2026-06-15T08:25:24.5457439Z             {
2026-06-15T08:25:24.5458116Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5459020Z               "line": 441
2026-06-15T08:25:24.5459648Z             },
2026-06-15T08:25:24.5460207Z             {
2026-06-15T08:25:24.5460889Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.5461744Z               "line": 452
2026-06-15T08:25:24.5462386Z             },
2026-06-15T08:25:24.5462963Z             {
2026-06-15T08:25:24.5463645Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5464491Z               "line": 77
2026-06-15T08:25:24.5465125Z             },
2026-06-15T08:25:24.5465693Z             {
2026-06-15T08:25:24.5466369Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5467212Z               "line": 97
2026-06-15T08:25:24.5467841Z             },
2026-06-15T08:25:24.5468413Z             {
2026-06-15T08:25:24.5469149Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5469988Z               "line": 112
2026-06-15T08:25:24.5470623Z             },
2026-06-15T08:25:24.5471190Z             {
2026-06-15T08:25:24.5471852Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5472694Z               "line": 123
2026-06-15T08:25:24.5473329Z             },
2026-06-15T08:25:24.5473890Z             {
2026-06-15T08:25:24.5474554Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5475389Z               "line": 130
2026-06-15T08:25:24.5476033Z             },
2026-06-15T08:25:24.5476715Z             {
2026-06-15T08:25:24.5477383Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-15T08:25:24.5478230Z               "line": 145
2026-06-15T08:25:24.5478870Z             },
2026-06-15T08:25:24.5479508Z             {
2026-06-15T08:25:24.5480159Z               "path": "crates/spt-live/src/turn.rs",
2026-06-15T08:25:24.5481088Z               "line": 115
2026-06-15T08:25:24.5481722Z             },
2026-06-15T08:25:24.5482286Z             {
2026-06-15T08:25:24.5482936Z               "path": "crates/spt-live/src/turn.rs",
2026-06-15T08:25:24.5483759Z               "line": 130
2026-06-15T08:25:24.5484484Z             },
2026-06-15T08:25:24.5485139Z             {
2026-06-15T08:25:24.5485973Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.5486822Z               "line": 420
2026-06-15T08:25:24.5487466Z             }
2026-06-15T08:25:24.5488024Z           ]
2026-06-15T08:25:24.5488561Z         }
2026-06-15T08:25:24.5489176Z       }
2026-06-15T08:25:24.5489716Z     },
2026-06-15T08:25:24.5490254Z     {
2026-06-15T08:25:24.5490880Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-15T08:25:24.5493814Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-15T08:25:24.5496566Z       "requiredStages": [
2026-06-15T08:25:24.5497215Z         "doc",
2026-06-15T08:25:24.5497793Z         "impl",
2026-06-15T08:25:24.5498379Z         "unit"
2026-06-15T08:25:24.5499036Z       ],
2026-06-15T08:25:24.5499590Z       "stages": {
2026-06-15T08:25:24.5500176Z         "doc": {
2026-06-15T08:25:24.5500790Z           "complete": true,
2026-06-15T08:25:24.5501454Z           "evidence": [
2026-06-15T08:25:24.5502089Z             {
2026-06-15T08:25:24.5502728Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5503543Z               "line": 367
2026-06-15T08:25:24.5504174Z             }
2026-06-15T08:25:24.5504728Z           ]
2026-06-15T08:25:24.5505266Z         },
2026-06-15T08:25:24.5505833Z         "impl": {
2026-06-15T08:25:24.5506452Z           "complete": true,
2026-06-15T08:25:24.5507117Z           "evidence": [
2026-06-15T08:25:24.5507728Z             {
2026-06-15T08:25:24.5508404Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5509305Z               "line": 199
2026-06-15T08:25:24.5509949Z             },
2026-06-15T08:25:24.5510521Z             {
2026-06-15T08:25:24.5511179Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5512019Z               "line": 303
2026-06-15T08:25:24.5512658Z             },
2026-06-15T08:25:24.5513230Z             {
2026-06-15T08:25:24.5513888Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5514711Z               "line": 515
2026-06-15T08:25:24.5515364Z             },
2026-06-15T08:25:24.5515955Z             {
2026-06-15T08:25:24.5516627Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5517458Z               "line": 530
2026-06-15T08:25:24.5518097Z             },
2026-06-15T08:25:24.5518669Z             {
2026-06-15T08:25:24.5519405Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5520246Z               "line": 1127
2026-06-15T08:25:24.5520899Z             },
2026-06-15T08:25:24.5521477Z             {
2026-06-15T08:25:24.5522148Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5522995Z               "line": 443
2026-06-15T08:25:24.5523633Z             },
2026-06-15T08:25:24.5524202Z             {
2026-06-15T08:25:24.5524875Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5525722Z               "line": 590
2026-06-15T08:25:24.5526371Z             },
2026-06-15T08:25:24.5526929Z             {
2026-06-15T08:25:24.5527596Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5528576Z               "line": 731
2026-06-15T08:25:24.5529301Z             }
2026-06-15T08:25:24.5529873Z           ]
2026-06-15T08:25:24.5530416Z         },
2026-06-15T08:25:24.5530965Z         "int": {
2026-06-15T08:25:24.5531565Z           "complete": false,
2026-06-15T08:25:24.5532248Z           "evidence": []
2026-06-15T08:25:24.5533001Z         },
2026-06-15T08:25:24.5533541Z         "unit": {
2026-06-15T08:25:24.5534147Z           "complete": true,
2026-06-15T08:25:24.5534815Z           "evidence": [
2026-06-15T08:25:24.5535435Z             {
2026-06-15T08:25:24.5536122Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.5536975Z               "line": 1155
2026-06-15T08:25:24.5537624Z             },
2026-06-15T08:25:24.5538189Z             {
2026-06-15T08:25:24.5538897Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-15T08:25:24.5539866Z               "line": 30
2026-06-15T08:25:24.5540491Z             }
2026-06-15T08:25:24.5541052Z           ]
2026-06-15T08:25:24.5541601Z         }
2026-06-15T08:25:24.5542130Z       }
2026-06-15T08:25:24.5542663Z     },
2026-06-15T08:25:24.5543198Z     {
2026-06-15T08:25:24.5543825Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-15T08:25:24.5545145Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-15T08:25:24.5546443Z       "requiredStages": [
2026-06-15T08:25:24.5547096Z         "impl",
2026-06-15T08:25:24.5551640Z         "unit"
2026-06-15T08:25:24.5552274Z       ],
2026-06-15T08:25:24.5552833Z       "stages": {
2026-06-15T08:25:24.5553429Z         "doc": {
2026-06-15T08:25:24.5554043Z           "complete": true,
2026-06-15T08:25:24.5554718Z           "evidence": [
2026-06-15T08:25:24.5555343Z             {
2026-06-15T08:25:24.5555991Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5556785Z               "line": 139
2026-06-15T08:25:24.5557422Z             }
2026-06-15T08:25:24.5557985Z           ]
2026-06-15T08:25:24.5558548Z         },
2026-06-15T08:25:24.5559168Z         "impl": {
2026-06-15T08:25:24.5559775Z           "complete": true,
2026-06-15T08:25:24.5560452Z           "evidence": [
2026-06-15T08:25:24.5561077Z             {
2026-06-15T08:25:24.5561725Z               "path": "crates/spt-store/src/db.rs",
2026-06-15T08:25:24.5562544Z               "line": 29
2026-06-15T08:25:24.5563188Z             },
2026-06-15T08:25:24.5563760Z             {
2026-06-15T08:25:24.5564422Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.5565250Z               "line": 101
2026-06-15T08:25:24.5565912Z             },
2026-06-15T08:25:24.5566546Z             {
2026-06-15T08:25:24.5567404Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5568254Z               "line": 30
2026-06-15T08:25:24.5568884Z             },
2026-06-15T08:25:24.5569532Z             {
2026-06-15T08:25:24.5570192Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.5571027Z               "line": 48
2026-06-15T08:25:24.5571656Z             }
2026-06-15T08:25:24.5572244Z           ]
2026-06-15T08:25:24.5572789Z         },
2026-06-15T08:25:24.5573342Z         "int": {
2026-06-15T08:25:24.5573953Z           "complete": false,
2026-06-15T08:25:24.5574635Z           "evidence": []
2026-06-15T08:25:24.5575261Z         },
2026-06-15T08:25:24.5575834Z         "unit": {
2026-06-15T08:25:24.5576444Z           "complete": true,
2026-06-15T08:25:24.5577102Z           "evidence": [
2026-06-15T08:25:24.5577713Z             {
2026-06-15T08:25:24.5578386Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5579288Z               "line": 162
2026-06-15T08:25:24.5579951Z             }
2026-06-15T08:25:24.5580511Z           ]
2026-06-15T08:25:24.5581057Z         }
2026-06-15T08:25:24.5581591Z       }
2026-06-15T08:25:24.5582126Z     },
2026-06-15T08:25:24.5582664Z     {
2026-06-15T08:25:24.5583283Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-15T08:25:24.5584928Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-15T08:25:24.5586609Z       "requiredStages": [
2026-06-15T08:25:24.5587267Z         "doc",
2026-06-15T08:25:24.5587848Z         "impl",
2026-06-15T08:25:24.5588423Z         "unit"
2026-06-15T08:25:24.5589055Z       ],
2026-06-15T08:25:24.5589717Z       "stages": {
2026-06-15T08:25:24.5590295Z         "doc": {
2026-06-15T08:25:24.5590905Z           "complete": true,
2026-06-15T08:25:24.5591565Z           "evidence": [
2026-06-15T08:25:24.5592185Z             {
2026-06-15T08:25:24.5592824Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5593626Z               "line": 151
2026-06-15T08:25:24.5594268Z             }
2026-06-15T08:25:24.5594839Z           ]
2026-06-15T08:25:24.5595383Z         },
2026-06-15T08:25:24.5595943Z         "impl": {
2026-06-15T08:25:24.5596563Z           "complete": true,
2026-06-15T08:25:24.5597240Z           "evidence": [
2026-06-15T08:25:24.5597897Z             {
2026-06-15T08:25:24.5598565Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5599478Z               "line": 22
2026-06-15T08:25:24.5600103Z             }
2026-06-15T08:25:24.5600665Z           ]
2026-06-15T08:25:24.5601223Z         },
2026-06-15T08:25:24.5601773Z         "int": {
2026-06-15T08:25:24.5602378Z           "complete": false,
2026-06-15T08:25:24.5603064Z           "evidence": []
2026-06-15T08:25:24.5603689Z         },
2026-06-15T08:25:24.5604239Z         "unit": {
2026-06-15T08:25:24.5604847Z           "complete": true,
2026-06-15T08:25:24.5605510Z           "evidence": [
2026-06-15T08:25:24.5606135Z             {
2026-06-15T08:25:24.5606810Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5607666Z               "line": 298
2026-06-15T08:25:24.5608300Z             }
2026-06-15T08:25:24.5608863Z           ]
2026-06-15T08:25:24.5609463Z         }
2026-06-15T08:25:24.5610009Z       }
2026-06-15T08:25:24.5610533Z     },
2026-06-15T08:25:24.5611077Z     {
2026-06-15T08:25:24.5611716Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-15T08:25:24.5613488Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-15T08:25:24.5615126Z       "requiredStages": [
2026-06-15T08:25:24.5615794Z         "impl",
2026-06-15T08:25:24.5616366Z         "unit"
2026-06-15T08:25:24.5616923Z       ],
2026-06-15T08:25:24.5617469Z       "stages": {
2026-06-15T08:25:24.5618055Z         "doc": {
2026-06-15T08:25:24.5618652Z           "complete": true,
2026-06-15T08:25:24.5619370Z           "evidence": [
2026-06-15T08:25:24.5619986Z             {
2026-06-15T08:25:24.5620622Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5621422Z               "line": 145
2026-06-15T08:25:24.5622052Z             }
2026-06-15T08:25:24.5622609Z           ]
2026-06-15T08:25:24.5623146Z         },
2026-06-15T08:25:24.5623694Z         "impl": {
2026-06-15T08:25:24.5624328Z           "complete": true,
2026-06-15T08:25:24.5625006Z           "evidence": [
2026-06-15T08:25:24.5625628Z             {
2026-06-15T08:25:24.5626325Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-15T08:25:24.5627202Z               "line": 160
2026-06-15T08:25:24.5627835Z             },
2026-06-15T08:25:24.5628404Z             {
2026-06-15T08:25:24.5629169Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5630065Z               "line": 200
2026-06-15T08:25:24.5630702Z             },
2026-06-15T08:25:24.5631272Z             {
2026-06-15T08:25:24.5631939Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.5632793Z               "line": 298
2026-06-15T08:25:24.5633421Z             },
2026-06-15T08:25:24.5633978Z             {
2026-06-15T08:25:24.5634641Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-15T08:25:24.5635465Z               "line": 20
2026-06-15T08:25:24.5636088Z             }
2026-06-15T08:25:24.5636794Z           ]
2026-06-15T08:25:24.5637347Z         },
2026-06-15T08:25:24.5637896Z         "int": {
2026-06-15T08:25:24.5638500Z           "complete": false,
2026-06-15T08:25:24.5639247Z           "evidence": []
2026-06-15T08:25:24.5639881Z         },
2026-06-15T08:25:24.5640421Z         "unit": {
2026-06-15T08:25:24.5641135Z           "complete": true,
2026-06-15T08:25:24.5641804Z           "evidence": [
2026-06-15T08:25:24.5642420Z             {
2026-06-15T08:25:24.5643124Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5644000Z               "line": 885
2026-06-15T08:25:24.5644638Z             },
2026-06-15T08:25:24.5645201Z             {
2026-06-15T08:25:24.5645892Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-15T08:25:24.5646753Z               "line": 88
2026-06-15T08:25:24.5647388Z             },
2026-06-15T08:25:24.5647955Z             {
2026-06-15T08:25:24.5648623Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.5649530Z               "line": 819
2026-06-15T08:25:24.5650155Z             },
2026-06-15T08:25:24.5650727Z             {
2026-06-15T08:25:24.5651403Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.5652245Z               "line": 838
2026-06-15T08:25:24.5652889Z             },
2026-06-15T08:25:24.5653476Z             {
2026-06-15T08:25:24.5654153Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.5655016Z               "line": 279
2026-06-15T08:25:24.5655645Z             },
2026-06-15T08:25:24.5656214Z             {
2026-06-15T08:25:24.5656881Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-15T08:25:24.5657710Z               "line": 82
2026-06-15T08:25:24.5658340Z             },
2026-06-15T08:25:24.5658912Z             {
2026-06-15T08:25:24.5659653Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-15T08:25:24.5660471Z               "line": 99
2026-06-15T08:25:24.5661101Z             },
2026-06-15T08:25:24.5661669Z             {
2026-06-15T08:25:24.5662421Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-15T08:25:24.5663333Z               "line": 119
2026-06-15T08:25:24.5664102Z             }
2026-06-15T08:25:24.5664671Z           ]
2026-06-15T08:25:24.5665223Z         }
2026-06-15T08:25:24.5665758Z       }
2026-06-15T08:25:24.5666307Z     },
2026-06-15T08:25:24.5666850Z     {
2026-06-15T08:25:24.5667474Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-15T08:25:24.5671885Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-15T08:25:24.5675952Z       "requiredStages": [
2026-06-15T08:25:24.5676624Z         "doc",
2026-06-15T08:25:24.5677196Z         "impl",
2026-06-15T08:25:24.5677788Z         "unit"
2026-06-15T08:25:24.5678362Z       ],
2026-06-15T08:25:24.5678912Z       "stages": {
2026-06-15T08:25:24.5679565Z         "doc": {
2026-06-15T08:25:24.5680165Z           "complete": true,
2026-06-15T08:25:24.5680858Z           "evidence": [
2026-06-15T08:25:24.5681482Z             {
2026-06-15T08:25:24.5682121Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5682909Z               "line": 157
2026-06-15T08:25:24.5683541Z             }
2026-06-15T08:25:24.5684106Z           ]
2026-06-15T08:25:24.5684650Z         },
2026-06-15T08:25:24.5685199Z         "impl": {
2026-06-15T08:25:24.5685810Z           "complete": true,
2026-06-15T08:25:24.5686492Z           "evidence": [
2026-06-15T08:25:24.5687103Z             {
2026-06-15T08:25:24.5687803Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.5688692Z               "line": 137
2026-06-15T08:25:24.5689542Z             },
2026-06-15T08:25:24.5690115Z             {
2026-06-15T08:25:24.5690815Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5691691Z               "line": 512
2026-06-15T08:25:24.5692334Z             },
2026-06-15T08:25:24.5692911Z             {
2026-06-15T08:25:24.5693644Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5694718Z               "line": 519
2026-06-15T08:25:24.5695353Z             },
2026-06-15T08:25:24.5695939Z             {
2026-06-15T08:25:24.5696625Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.5697514Z               "line": 227
2026-06-15T08:25:24.5698191Z             }
2026-06-15T08:25:24.5698763Z           ]
2026-06-15T08:25:24.5699416Z         },
2026-06-15T08:25:24.5700003Z         "int": {
2026-06-15T08:25:24.5700618Z           "complete": false,
2026-06-15T08:25:24.5701299Z           "evidence": []
2026-06-15T08:25:24.5701936Z         },
2026-06-15T08:25:24.5702504Z         "unit": {
2026-06-15T08:25:24.5703104Z           "complete": true,
2026-06-15T08:25:24.5703786Z           "evidence": [
2026-06-15T08:25:24.5704416Z             {
2026-06-15T08:25:24.5705132Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5706024Z               "line": 1515
2026-06-15T08:25:24.5706677Z             },
2026-06-15T08:25:24.5706935Z             {
2026-06-15T08:25:24.5707337Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.5707612Z               "line": 1573
2026-06-15T08:25:24.5707874Z             },
2026-06-15T08:25:24.5708136Z             {
2026-06-15T08:25:24.5708509Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.5708804Z               "line": 851
2026-06-15T08:25:24.5709129Z             }
2026-06-15T08:25:24.5709391Z           ]
2026-06-15T08:25:24.5709643Z         }
2026-06-15T08:25:24.5709892Z       }
2026-06-15T08:25:24.5710153Z     },
2026-06-15T08:25:24.5710415Z     {
2026-06-15T08:25:24.5710769Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-15T08:25:24.5711354Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-15T08:25:24.5711635Z       "requiredStages": [
2026-06-15T08:25:24.5711902Z         "impl",
2026-06-15T08:25:24.5712155Z         "unit"
2026-06-15T08:25:24.5712435Z       ],
2026-06-15T08:25:24.5712700Z       "stages": {
2026-06-15T08:25:24.5712972Z         "doc": {
2026-06-15T08:25:24.5713258Z           "complete": false,
2026-06-15T08:25:24.5713530Z           "evidence": []
2026-06-15T08:25:24.5713793Z         },
2026-06-15T08:25:24.5714069Z         "impl": {
2026-06-15T08:25:24.5714346Z           "complete": true,
2026-06-15T08:25:24.5714623Z           "evidence": [
2026-06-15T08:25:24.5714880Z             {
2026-06-15T08:25:24.5715236Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.5715510Z               "line": 15
2026-06-15T08:25:24.5715772Z             },
2026-06-15T08:25:24.5716031Z             {
2026-06-15T08:25:24.5716411Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5716684Z               "line": 55
2026-06-15T08:25:24.5716945Z             },
2026-06-15T08:25:24.5717209Z             {
2026-06-15T08:25:24.5717571Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5717855Z               "line": 66
2026-06-15T08:25:24.5718115Z             },
2026-06-15T08:25:24.5718381Z             {
2026-06-15T08:25:24.5718754Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5719098Z               "line": 115
2026-06-15T08:25:24.5719374Z             },
2026-06-15T08:25:24.5719636Z             {
2026-06-15T08:25:24.5720014Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5720280Z               "line": 138
2026-06-15T08:25:24.5720546Z             }
2026-06-15T08:25:24.5720804Z           ]
2026-06-15T08:25:24.5721071Z         },
2026-06-15T08:25:24.5721329Z         "int": {
2026-06-15T08:25:24.5721733Z           "complete": false,
2026-06-15T08:25:24.5722010Z           "evidence": []
2026-06-15T08:25:24.5722268Z         },
2026-06-15T08:25:24.5722529Z         "unit": {
2026-06-15T08:25:24.5722809Z           "complete": true,
2026-06-15T08:25:24.5723089Z           "evidence": [
2026-06-15T08:25:24.5723352Z             {
2026-06-15T08:25:24.5723803Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.5724085Z               "line": 149
2026-06-15T08:25:24.5724348Z             },
2026-06-15T08:25:24.5724610Z             {
2026-06-15T08:25:24.5724953Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.5725235Z               "line": 155
2026-06-15T08:25:24.5725503Z             },
2026-06-15T08:25:24.5725762Z             {
2026-06-15T08:25:24.5726123Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.5726390Z               "line": 169
2026-06-15T08:25:24.5726651Z             },
2026-06-15T08:25:24.5726906Z             {
2026-06-15T08:25:24.5727263Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.5727548Z               "line": 178
2026-06-15T08:25:24.5727807Z             },
2026-06-15T08:25:24.5728074Z             {
2026-06-15T08:25:24.5728439Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5728723Z               "line": 195
2026-06-15T08:25:24.5729043Z             },
2026-06-15T08:25:24.5729310Z             {
2026-06-15T08:25:24.5729677Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5729954Z               "line": 208
2026-06-15T08:25:24.5730220Z             },
2026-06-15T08:25:24.5730473Z             {
2026-06-15T08:25:24.5730840Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5731125Z               "line": 271
2026-06-15T08:25:24.5731387Z             },
2026-06-15T08:25:24.5731650Z             {
2026-06-15T08:25:24.5732013Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5732303Z               "line": 290
2026-06-15T08:25:24.5732562Z             },
2026-06-15T08:25:24.5732828Z             {
2026-06-15T08:25:24.5733205Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.5733484Z               "line": 319
2026-06-15T08:25:24.5733748Z             }
2026-06-15T08:25:24.5734006Z           ]
2026-06-15T08:25:24.5734278Z         }
2026-06-15T08:25:24.5734536Z       }
2026-06-15T08:25:24.5734789Z     },
2026-06-15T08:25:24.5735051Z     {
2026-06-15T08:25:24.5735380Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-15T08:25:24.5736218Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-15T08:25:24.5736507Z       "requiredStages": [
2026-06-15T08:25:24.5736774Z         "impl",
2026-06-15T08:25:24.5737041Z         "unit",
2026-06-15T08:25:24.5737298Z         "int"
2026-06-15T08:25:24.5737559Z       ],
2026-06-15T08:25:24.5737827Z       "stages": {
2026-06-15T08:25:24.5738090Z         "doc": {
2026-06-15T08:25:24.5738386Z           "complete": false,
2026-06-15T08:25:24.5738667Z           "evidence": []
2026-06-15T08:25:24.5738928Z         },
2026-06-15T08:25:24.5739283Z         "impl": {
2026-06-15T08:25:24.5739565Z           "complete": true,
2026-06-15T08:25:24.5739831Z           "evidence": [
2026-06-15T08:25:24.5740088Z             {
2026-06-15T08:25:24.5740451Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5740737Z               "line": 447
2026-06-15T08:25:24.5741004Z             },
2026-06-15T08:25:24.5741272Z             {
2026-06-15T08:25:24.5741628Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5741906Z               "line": 867
2026-06-15T08:25:24.5742168Z             },
2026-06-15T08:25:24.5742420Z             {
2026-06-15T08:25:24.5742783Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5743049Z               "line": 912
2026-06-15T08:25:24.5743306Z             },
2026-06-15T08:25:24.5743703Z             {
2026-06-15T08:25:24.5744059Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.5744347Z               "line": 937
2026-06-15T08:25:24.5744604Z             },
2026-06-15T08:25:24.5744871Z             {
2026-06-15T08:25:24.5745243Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5745625Z               "line": 987
2026-06-15T08:25:24.5745892Z             },
2026-06-15T08:25:24.5746150Z             {
2026-06-15T08:25:24.5746517Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5746788Z               "line": 1113
2026-06-15T08:25:24.5747053Z             },
2026-06-15T08:25:24.5747315Z             {
2026-06-15T08:25:24.5747692Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5747973Z               "line": 1244
2026-06-15T08:25:24.5748240Z             },
2026-06-15T08:25:24.5748507Z             {
2026-06-15T08:25:24.5748875Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5749223Z               "line": 1292
2026-06-15T08:25:24.5749483Z             },
2026-06-15T08:25:24.5749743Z             {
2026-06-15T08:25:24.5750120Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.5750391Z               "line": 46
2026-06-15T08:25:24.5750644Z             },
2026-06-15T08:25:24.5750896Z             {
2026-06-15T08:25:24.5751269Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.5751545Z               "line": 167
2026-06-15T08:25:24.5751808Z             },
2026-06-15T08:25:24.5752071Z             {
2026-06-15T08:25:24.5752413Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.5752689Z               "line": 132
2026-06-15T08:25:24.5752955Z             },
2026-06-15T08:25:24.5753217Z             {
2026-06-15T08:25:24.5753566Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.5753838Z               "line": 134
2026-06-15T08:25:24.5754109Z             },
2026-06-15T08:25:24.5754363Z             {
2026-06-15T08:25:24.5754718Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.5754999Z               "line": 180
2026-06-15T08:25:24.5755251Z             }
2026-06-15T08:25:24.5755517Z           ]
2026-06-15T08:25:24.5755775Z         },
2026-06-15T08:25:24.5756038Z         "int": {
2026-06-15T08:25:24.5756328Z           "complete": true,
2026-06-15T08:25:24.5756596Z           "evidence": [
2026-06-15T08:25:24.5756864Z             {
2026-06-15T08:25:24.5757268Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-15T08:25:24.5757548Z               "line": 27
2026-06-15T08:25:24.5757803Z             },
2026-06-15T08:25:24.5758070Z             {
2026-06-15T08:25:24.5758453Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-15T08:25:24.5758738Z               "line": 129
2026-06-15T08:25:24.5759092Z             },
2026-06-15T08:25:24.5759363Z             {
2026-06-15T08:25:24.5759750Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-15T08:25:24.5760033Z               "line": 200
2026-06-15T08:25:24.5760298Z             }
2026-06-15T08:25:24.5760547Z           ]
2026-06-15T08:25:24.5760804Z         },
2026-06-15T08:25:24.5761071Z         "unit": {
2026-06-15T08:25:24.5761357Z           "complete": true,
2026-06-15T08:25:24.5761639Z           "evidence": [
2026-06-15T08:25:24.5761900Z             {
2026-06-15T08:25:24.5762274Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.5762555Z               "line": 313
2026-06-15T08:25:24.5762815Z             },
2026-06-15T08:25:24.5763078Z             {
2026-06-15T08:25:24.5763444Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.5763731Z               "line": 345
2026-06-15T08:25:24.5763984Z             },
2026-06-15T08:25:24.5764242Z             {
2026-06-15T08:25:24.5764609Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-15T08:25:24.5764876Z               "line": 366
2026-06-15T08:25:24.5769337Z             },
2026-06-15T08:25:24.5769808Z             {
2026-06-15T08:25:24.5770209Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.5770498Z               "line": 508
2026-06-15T08:25:24.5770763Z             },
2026-06-15T08:25:24.5771036Z             {
2026-06-15T08:25:24.5771412Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-15T08:25:24.5771821Z               "line": 289
2026-06-15T08:25:24.5772084Z             },
2026-06-15T08:25:24.5772332Z             {
2026-06-15T08:25:24.5772709Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-15T08:25:24.5772975Z               "line": 230
2026-06-15T08:25:24.5773243Z             },
2026-06-15T08:25:24.5773504Z             {
2026-06-15T08:25:24.5773862Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.5774139Z               "line": 488
2026-06-15T08:25:24.5774400Z             },
2026-06-15T08:25:24.5774662Z             {
2026-06-15T08:25:24.5775010Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.5775287Z               "line": 518
2026-06-15T08:25:24.5775544Z             }
2026-06-15T08:25:24.5775810Z           ]
2026-06-15T08:25:24.5776061Z         }
2026-06-15T08:25:24.5776318Z       }
2026-06-15T08:25:24.5776580Z     },
2026-06-15T08:25:24.5776839Z     {
2026-06-15T08:25:24.5777214Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-15T08:25:24.5782319Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-15T08:25:24.5782620Z       "requiredStages": [
2026-06-15T08:25:24.5782902Z         "doc",
2026-06-15T08:25:24.5783169Z         "impl",
2026-06-15T08:25:24.5783437Z         "unit"
2026-06-15T08:25:24.5783685Z       ],
2026-06-15T08:25:24.5783954Z       "stages": {
2026-06-15T08:25:24.5784217Z         "doc": {
2026-06-15T08:25:24.5784503Z           "complete": true,
2026-06-15T08:25:24.5784803Z           "evidence": [
2026-06-15T08:25:24.5785056Z             {
2026-06-15T08:25:24.5785395Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5785667Z               "line": 307
2026-06-15T08:25:24.5785919Z             }
2026-06-15T08:25:24.5786175Z           ]
2026-06-15T08:25:24.5786426Z         },
2026-06-15T08:25:24.5786703Z         "impl": {
2026-06-15T08:25:24.5786989Z           "complete": true,
2026-06-15T08:25:24.5787266Z           "evidence": [
2026-06-15T08:25:24.5787527Z             {
2026-06-15T08:25:24.5787938Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-15T08:25:24.5788215Z               "line": 33
2026-06-15T08:25:24.5788476Z             },
2026-06-15T08:25:24.5788724Z             {
2026-06-15T08:25:24.5789204Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-15T08:25:24.5789479Z               "line": 39
2026-06-15T08:25:24.5789746Z             }
2026-06-15T08:25:24.5790003Z           ]
2026-06-15T08:25:24.5790262Z         },
2026-06-15T08:25:24.5790528Z         "int": {
2026-06-15T08:25:24.5790824Z           "complete": false,
2026-06-15T08:25:24.5791096Z           "evidence": []
2026-06-15T08:25:24.5791363Z         },
2026-06-15T08:25:24.5791624Z         "unit": {
2026-06-15T08:25:24.5791902Z           "complete": true,
2026-06-15T08:25:24.5792180Z           "evidence": [
2026-06-15T08:25:24.5792437Z             {
2026-06-15T08:25:24.5792847Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-15T08:25:24.5793113Z               "line": 95
2026-06-15T08:25:24.5793381Z             }
2026-06-15T08:25:24.5793644Z           ]
2026-06-15T08:25:24.5794011Z         }
2026-06-15T08:25:24.5794273Z       }
2026-06-15T08:25:24.5794528Z     },
2026-06-15T08:25:24.5794782Z     {
2026-06-15T08:25:24.5795091Z       "id": "REQ-HAZARD-SELF-ELEVATE",
2026-06-15T08:25:24.5801473Z       "title": "Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe path — never widening privilege scope, never adding/altering args, never via a PATH-resolved bare name, never via a shell-interpolated command string (argv-array only, no `sh -c`); the elevated child drops state back to the user (composes with the 5.7 de-elevation) and NEVER re-elevates (loop-safe: decide_elevation_path returns AlreadyElevated whenever the process is already Elevated, on every OS). The user's UAC/polkit/sudo prompt is the only consent gate — we never bypass it; the print-hint floor prints the absolute-path command too. The unprivileged parent never depends on (pipes/captures) the privileged child's stdout.",
2026-06-15T08:25:24.5801879Z       "requiredStages": [
2026-06-15T08:25:24.5802169Z         "unit"
2026-06-15T08:25:24.5802434Z       ],
2026-06-15T08:25:24.5802712Z       "stages": {
2026-06-15T08:25:24.5802964Z         "doc": {
2026-06-15T08:25:24.5803260Z           "complete": false,
2026-06-15T08:25:24.5803531Z           "evidence": []
2026-06-15T08:25:24.5803793Z         },
2026-06-15T08:25:24.5804088Z         "impl": {
2026-06-15T08:25:24.5804375Z           "complete": true,
2026-06-15T08:25:24.5804655Z           "evidence": [
2026-06-15T08:25:24.5804915Z             {
2026-06-15T08:25:24.5805237Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5805524Z               "line": 3076
2026-06-15T08:25:24.5805781Z             },
2026-06-15T08:25:24.5806033Z             {
2026-06-15T08:25:24.5806371Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5806653Z               "line": 3128
2026-06-15T08:25:24.5806915Z             },
2026-06-15T08:25:24.5807187Z             {
2026-06-15T08:25:24.5807500Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5807785Z               "line": 3173
2026-06-15T08:25:24.5808047Z             },
2026-06-15T08:25:24.5808313Z             {
2026-06-15T08:25:24.5808662Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5808933Z               "line": 92
2026-06-15T08:25:24.5809252Z             },
2026-06-15T08:25:24.5809511Z             {
2026-06-15T08:25:24.5809854Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5810116Z               "line": 148
2026-06-15T08:25:24.5810381Z             },
2026-06-15T08:25:24.5810642Z             {
2026-06-15T08:25:24.5810991Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5811267Z               "line": 192
2026-06-15T08:25:24.5811524Z             },
2026-06-15T08:25:24.5811786Z             {
2026-06-15T08:25:24.5812134Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5812407Z               "line": 200
2026-06-15T08:25:24.5812659Z             },
2026-06-15T08:25:24.5812929Z             {
2026-06-15T08:25:24.5813272Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5813539Z               "line": 211
2026-06-15T08:25:24.5813796Z             },
2026-06-15T08:25:24.5814052Z             {
2026-06-15T08:25:24.5814396Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5814677Z               "line": 262
2026-06-15T08:25:24.5814940Z             },
2026-06-15T08:25:24.5815193Z             {
2026-06-15T08:25:24.5815531Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5815812Z               "line": 275
2026-06-15T08:25:24.5816059Z             }
2026-06-15T08:25:24.5816321Z           ]
2026-06-15T08:25:24.5816578Z         },
2026-06-15T08:25:24.5816827Z         "int": {
2026-06-15T08:25:24.5817117Z           "complete": false,
2026-06-15T08:25:24.5817390Z           "evidence": []
2026-06-15T08:25:24.5817653Z         },
2026-06-15T08:25:24.5817917Z         "unit": {
2026-06-15T08:25:24.5818206Z           "complete": true,
2026-06-15T08:25:24.5818597Z           "evidence": [
2026-06-15T08:25:24.5818859Z             {
2026-06-15T08:25:24.5819294Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5819561Z               "line": 415
2026-06-15T08:25:24.5819822Z             },
2026-06-15T08:25:24.5820085Z             {
2026-06-15T08:25:24.5820554Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5820827Z               "line": 466
2026-06-15T08:25:24.5821077Z             },
2026-06-15T08:25:24.5821341Z             {
2026-06-15T08:25:24.5821688Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5821975Z               "line": 495
2026-06-15T08:25:24.5822242Z             },
2026-06-15T08:25:24.5822504Z             {
2026-06-15T08:25:24.5822853Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5823130Z               "line": 522
2026-06-15T08:25:24.5823394Z             }
2026-06-15T08:25:24.5823644Z           ]
2026-06-15T08:25:24.5823912Z         }
2026-06-15T08:25:24.5824170Z       }
2026-06-15T08:25:24.5824423Z     },
2026-06-15T08:25:24.5824681Z     {
2026-06-15T08:25:24.5825024Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-15T08:25:24.5825596Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-15T08:25:24.5825876Z       "requiredStages": [
2026-06-15T08:25:24.5826161Z         "impl",
2026-06-15T08:25:24.5826415Z         "unit"
2026-06-15T08:25:24.5826672Z       ],
2026-06-15T08:25:24.5826949Z       "stages": {
2026-06-15T08:25:24.5827206Z         "doc": {
2026-06-15T08:25:24.5827487Z           "complete": false,
2026-06-15T08:25:24.5827763Z           "evidence": []
2026-06-15T08:25:24.5828020Z         },
2026-06-15T08:25:24.5828284Z         "impl": {
2026-06-15T08:25:24.5828573Z           "complete": true,
2026-06-15T08:25:24.5828842Z           "evidence": [
2026-06-15T08:25:24.5829196Z             {
2026-06-15T08:25:24.5829596Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.5829882Z               "line": 62
2026-06-15T08:25:24.5830145Z             },
2026-06-15T08:25:24.5830407Z             {
2026-06-15T08:25:24.5830799Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.5831070Z               "line": 71
2026-06-15T08:25:24.5831325Z             },
2026-06-15T08:25:24.5831596Z             {
2026-06-15T08:25:24.5831986Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.5832268Z               "line": 80
2026-06-15T08:25:24.5832525Z             },
2026-06-15T08:25:24.5832778Z             {
2026-06-15T08:25:24.5833164Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.5833445Z               "line": 88
2026-06-15T08:25:24.5833699Z             },
2026-06-15T08:25:24.5833959Z             {
2026-06-15T08:25:24.5834319Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5834596Z               "line": 33
2026-06-15T08:25:24.5834853Z             },
2026-06-15T08:25:24.5835120Z             {
2026-06-15T08:25:24.5835468Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5835746Z               "line": 65
2026-06-15T08:25:24.5835998Z             },
2026-06-15T08:25:24.5836257Z             {
2026-06-15T08:25:24.5836604Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5836884Z               "line": 74
2026-06-15T08:25:24.5837146Z             },
2026-06-15T08:25:24.5837393Z             {
2026-06-15T08:25:24.5837742Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5838013Z               "line": 93
2026-06-15T08:25:24.5838281Z             },
2026-06-15T08:25:24.5838544Z             {
2026-06-15T08:25:24.5838891Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5839255Z               "line": 102
2026-06-15T08:25:24.5839509Z             },
2026-06-15T08:25:24.5839771Z             {
2026-06-15T08:25:24.5840114Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5840510Z               "line": 111
2026-06-15T08:25:24.5840762Z             },
2026-06-15T08:25:24.5841020Z             {
2026-06-15T08:25:24.5841378Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5841650Z               "line": 122
2026-06-15T08:25:24.5841909Z             },
2026-06-15T08:25:24.5842265Z             {
2026-06-15T08:25:24.5842609Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5842895Z               "line": 140
2026-06-15T08:25:24.5843157Z             },
2026-06-15T08:25:24.5843414Z             {
2026-06-15T08:25:24.5843762Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5844029Z               "line": 149
2026-06-15T08:25:24.5844283Z             },
2026-06-15T08:25:24.5844539Z             {
2026-06-15T08:25:24.5844889Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5845161Z               "line": 158
2026-06-15T08:25:24.5845418Z             },
2026-06-15T08:25:24.5845680Z             {
2026-06-15T08:25:24.5846043Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5846320Z               "line": 169
2026-06-15T08:25:24.5846582Z             },
2026-06-15T08:25:24.5846835Z             {
2026-06-15T08:25:24.5847188Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5847469Z               "line": 177
2026-06-15T08:25:24.5847731Z             },
2026-06-15T08:25:24.5847987Z             {
2026-06-15T08:25:24.5848350Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5848621Z               "line": 186
2026-06-15T08:25:24.5848879Z             },
2026-06-15T08:25:24.5849194Z             {
2026-06-15T08:25:24.5849546Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5849824Z               "line": 195
2026-06-15T08:25:24.5850093Z             },
2026-06-15T08:25:24.5850355Z             {
2026-06-15T08:25:24.5850707Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5850998Z               "line": 204
2026-06-15T08:25:24.5851256Z             },
2026-06-15T08:25:24.5851517Z             {
2026-06-15T08:25:24.5851862Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5852138Z               "line": 216
2026-06-15T08:25:24.5852399Z             },
2026-06-15T08:25:24.5852664Z             {
2026-06-15T08:25:24.5853030Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5853303Z               "line": 223
2026-06-15T08:25:24.5853565Z             },
2026-06-15T08:25:24.5853823Z             {
2026-06-15T08:25:24.5854167Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5854443Z               "line": 232
2026-06-15T08:25:24.5854699Z             },
2026-06-15T08:25:24.5854961Z             {
2026-06-15T08:25:24.5855297Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5855564Z               "line": 239
2026-06-15T08:25:24.5855822Z             },
2026-06-15T08:25:24.5856089Z             {
2026-06-15T08:25:24.5856441Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5856723Z               "line": 306
2026-06-15T08:25:24.5856990Z             },
2026-06-15T08:25:24.5857242Z             {
2026-06-15T08:25:24.5857601Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5857884Z               "line": 318
2026-06-15T08:25:24.5858147Z             },
2026-06-15T08:25:24.5858405Z             {
2026-06-15T08:25:24.5858753Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5859096Z               "line": 405
2026-06-15T08:25:24.5859349Z             }
2026-06-15T08:25:24.5859602Z           ]
2026-06-15T08:25:24.5859859Z         },
2026-06-15T08:25:24.5860125Z         "int": {
2026-06-15T08:25:24.5860418Z           "complete": false,
2026-06-15T08:25:24.5860695Z           "evidence": []
2026-06-15T08:25:24.5860957Z         },
2026-06-15T08:25:24.5861215Z         "unit": {
2026-06-15T08:25:24.5861496Z           "complete": true,
2026-06-15T08:25:24.5861869Z           "evidence": [
2026-06-15T08:25:24.5862126Z             {
2026-06-15T08:25:24.5862489Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5862751Z               "line": 487
2026-06-15T08:25:24.5863020Z             },
2026-06-15T08:25:24.5863280Z             {
2026-06-15T08:25:24.5863739Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5864005Z               "line": 528
2026-06-15T08:25:24.5864267Z             },
2026-06-15T08:25:24.5864526Z             {
2026-06-15T08:25:24.5864878Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5865159Z               "line": 541
2026-06-15T08:25:24.5865417Z             },
2026-06-15T08:25:24.5865683Z             {
2026-06-15T08:25:24.5866043Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.5866320Z               "line": 627
2026-06-15T08:25:24.5866582Z             }
2026-06-15T08:25:24.5866839Z           ]
2026-06-15T08:25:24.5867111Z         }
2026-06-15T08:25:24.5867373Z       }
2026-06-15T08:25:24.5867641Z     },
2026-06-15T08:25:24.5867894Z     {
2026-06-15T08:25:24.5868223Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-15T08:25:24.5868817Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-15T08:25:24.5869194Z       "requiredStages": [
2026-06-15T08:25:24.5869465Z         "impl",
2026-06-15T08:25:24.5869727Z         "unit"
2026-06-15T08:25:24.5869985Z       ],
2026-06-15T08:25:24.5870261Z       "stages": {
2026-06-15T08:25:24.5870524Z         "doc": {
2026-06-15T08:25:24.5870804Z           "complete": false,
2026-06-15T08:25:24.5871083Z           "evidence": []
2026-06-15T08:25:24.5871340Z         },
2026-06-15T08:25:24.5871598Z         "impl": {
2026-06-15T08:25:24.5871884Z           "complete": true,
2026-06-15T08:25:24.5872170Z           "evidence": [
2026-06-15T08:25:24.5872429Z             {
2026-06-15T08:25:24.5872776Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.5873058Z               "line": 143
2026-06-15T08:25:24.5873326Z             },
2026-06-15T08:25:24.5873585Z             {
2026-06-15T08:25:24.5873960Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.5874236Z               "line": 167
2026-06-15T08:25:24.5874489Z             }
2026-06-15T08:25:24.5874766Z           ]
2026-06-15T08:25:24.5875024Z         },
2026-06-15T08:25:24.5875287Z         "int": {
2026-06-15T08:25:24.5875568Z           "complete": false,
2026-06-15T08:25:24.5875849Z           "evidence": []
2026-06-15T08:25:24.5876114Z         },
2026-06-15T08:25:24.5876374Z         "unit": {
2026-06-15T08:25:24.5876666Z           "complete": true,
2026-06-15T08:25:24.5876937Z           "evidence": [
2026-06-15T08:25:24.5877200Z             {
2026-06-15T08:25:24.5877543Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.5877820Z               "line": 264
2026-06-15T08:25:24.5878081Z             },
2026-06-15T08:25:24.5878343Z             {
2026-06-15T08:25:24.5878716Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.5879081Z               "line": 710
2026-06-15T08:25:24.5879348Z             },
2026-06-15T08:25:24.5879610Z             {
2026-06-15T08:25:24.5879982Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.5880259Z               "line": 723
2026-06-15T08:25:24.5880522Z             }
2026-06-15T08:25:24.5880784Z           ]
2026-06-15T08:25:24.5881038Z         }
2026-06-15T08:25:24.5881302Z       }
2026-06-15T08:25:24.5881557Z     },
2026-06-15T08:25:24.5881815Z     {
2026-06-15T08:25:24.5882135Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-15T08:25:24.5882534Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-15T08:25:24.5882826Z       "requiredStages": [
2026-06-15T08:25:24.5883088Z         "impl",
2026-06-15T08:25:24.5883346Z         "unit"
2026-06-15T08:25:24.5883599Z       ],
2026-06-15T08:25:24.5883871Z       "stages": {
2026-06-15T08:25:24.5884236Z         "doc": {
2026-06-15T08:25:24.5884520Z           "complete": false,
2026-06-15T08:25:24.5884801Z           "evidence": []
2026-06-15T08:25:24.5885058Z         },
2026-06-15T08:25:24.5885326Z         "impl": {
2026-06-15T08:25:24.5885607Z           "complete": true,
2026-06-15T08:25:24.5885889Z           "evidence": [
2026-06-15T08:25:24.5886246Z             {
2026-06-15T08:25:24.5886617Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.5886902Z               "line": 114
2026-06-15T08:25:24.5887168Z             },
2026-06-15T08:25:24.5887431Z             {
2026-06-15T08:25:24.5887817Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.5888094Z               "line": 481
2026-06-15T08:25:24.5888356Z             }
2026-06-15T08:25:24.5888613Z           ]
2026-06-15T08:25:24.5888875Z         },
2026-06-15T08:25:24.5889218Z         "int": {
2026-06-15T08:25:24.5889508Z           "complete": false,
2026-06-15T08:25:24.5889790Z           "evidence": []
2026-06-15T08:25:24.5890061Z         },
2026-06-15T08:25:24.5890320Z         "unit": {
2026-06-15T08:25:24.5890600Z           "complete": true,
2026-06-15T08:25:24.5890876Z           "evidence": [
2026-06-15T08:25:24.5891124Z             {
2026-06-15T08:25:24.5891506Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.5891791Z               "line": 515
2026-06-15T08:25:24.5892061Z             }
2026-06-15T08:25:24.5892314Z           ]
2026-06-15T08:25:24.5892571Z         }
2026-06-15T08:25:24.5892824Z       }
2026-06-15T08:25:24.5893081Z     },
2026-06-15T08:25:24.5893338Z     {
2026-06-15T08:25:24.5893691Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-15T08:25:24.5894211Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-15T08:25:24.5894503Z       "requiredStages": [
2026-06-15T08:25:24.5894768Z         "impl",
2026-06-15T08:25:24.5895022Z         "unit"
2026-06-15T08:25:24.5895280Z       ],
2026-06-15T08:25:24.5895548Z       "stages": {
2026-06-15T08:25:24.5895810Z         "doc": {
2026-06-15T08:25:24.5896106Z           "complete": false,
2026-06-15T08:25:24.5896392Z           "evidence": []
2026-06-15T08:25:24.5896659Z         },
2026-06-15T08:25:24.5896916Z         "impl": {
2026-06-15T08:25:24.5897191Z           "complete": true,
2026-06-15T08:25:24.5897471Z           "evidence": [
2026-06-15T08:25:24.5897729Z             {
2026-06-15T08:25:24.5898101Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.5898386Z               "line": 502
2026-06-15T08:25:24.5898649Z             },
2026-06-15T08:25:24.5898916Z             {
2026-06-15T08:25:24.5899326Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5899608Z               "line": 28
2026-06-15T08:25:24.5899861Z             }
2026-06-15T08:25:24.5900120Z           ]
2026-06-15T08:25:24.5900383Z         },
2026-06-15T08:25:24.5900641Z         "int": {
2026-06-15T08:25:24.5900927Z           "complete": false,
2026-06-15T08:25:24.5901214Z           "evidence": []
2026-06-15T08:25:24.5901476Z         },
2026-06-15T08:25:24.5901732Z         "unit": {
2026-06-15T08:25:24.5902013Z           "complete": true,
2026-06-15T08:25:24.5902299Z           "evidence": [
2026-06-15T08:25:24.5902555Z             {
2026-06-15T08:25:24.5902912Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.5903179Z               "line": 229
2026-06-15T08:25:24.5903447Z             }
2026-06-15T08:25:24.5903699Z           ]
2026-06-15T08:25:24.5903970Z         }
2026-06-15T08:25:24.5904222Z       }
2026-06-15T08:25:24.5904470Z     },
2026-06-15T08:25:24.5904734Z     {
2026-06-15T08:25:24.5905063Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-15T08:25:24.5905469Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-15T08:25:24.5905760Z       "requiredStages": [],
2026-06-15T08:25:24.5906037Z       "stages": {
2026-06-15T08:25:24.5906309Z         "doc": {
2026-06-15T08:25:24.5906594Z           "complete": false,
2026-06-15T08:25:24.5906985Z           "evidence": []
2026-06-15T08:25:24.5907229Z         },
2026-06-15T08:25:24.5907500Z         "impl": {
2026-06-15T08:25:24.5907785Z           "complete": false,
2026-06-15T08:25:24.5908055Z           "evidence": []
2026-06-15T08:25:24.5908318Z         },
2026-06-15T08:25:24.5908570Z         "int": {
2026-06-15T08:25:24.5909051Z           "complete": false,
2026-06-15T08:25:24.5909318Z           "evidence": []
2026-06-15T08:25:24.5909586Z         },
2026-06-15T08:25:24.5909843Z         "unit": {
2026-06-15T08:25:24.5910135Z           "complete": false,
2026-06-15T08:25:24.5910411Z           "evidence": []
2026-06-15T08:25:24.5910666Z         }
2026-06-15T08:25:24.5910924Z       }
2026-06-15T08:25:24.5911177Z     },
2026-06-15T08:25:24.5911435Z     {
2026-06-15T08:25:24.5911764Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-15T08:25:24.5912221Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-15T08:25:24.5912506Z       "requiredStages": [
2026-06-15T08:25:24.5912770Z         "impl",
2026-06-15T08:25:24.5913030Z         "unit"
2026-06-15T08:25:24.5913290Z       ],
2026-06-15T08:25:24.5913557Z       "stages": {
2026-06-15T08:25:24.5913819Z         "doc": {
2026-06-15T08:25:24.5914116Z           "complete": false,
2026-06-15T08:25:24.5914387Z           "evidence": []
2026-06-15T08:25:24.5914650Z         },
2026-06-15T08:25:24.5914927Z         "impl": {
2026-06-15T08:25:24.5915208Z           "complete": true,
2026-06-15T08:25:24.5915489Z           "evidence": [
2026-06-15T08:25:24.5915750Z             {
2026-06-15T08:25:24.5916100Z               "path": "crates/spt-live/src/turn.rs",
2026-06-15T08:25:24.5916382Z               "line": 19
2026-06-15T08:25:24.5916640Z             },
2026-06-15T08:25:24.5916902Z             {
2026-06-15T08:25:24.5917273Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.5917550Z               "line": 347
2026-06-15T08:25:24.5917813Z             },
2026-06-15T08:25:24.5918065Z             {
2026-06-15T08:25:24.5918440Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.5918709Z               "line": 383
2026-06-15T08:25:24.5919039Z             },
2026-06-15T08:25:24.5919310Z             {
2026-06-15T08:25:24.5919668Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.5919940Z               "line": 15
2026-06-15T08:25:24.5920207Z             },
2026-06-15T08:25:24.5920465Z             {
2026-06-15T08:25:24.5920817Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.5921095Z               "line": 48
2026-06-15T08:25:24.5921351Z             },
2026-06-15T08:25:24.5921622Z             {
2026-06-15T08:25:24.5921981Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.5922266Z               "line": 119
2026-06-15T08:25:24.5922533Z             },
2026-06-15T08:25:24.5922782Z             {
2026-06-15T08:25:24.5923105Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.5923382Z               "line": 3504
2026-06-15T08:25:24.5923657Z             }
2026-06-15T08:25:24.5923913Z           ]
2026-06-15T08:25:24.5924170Z         },
2026-06-15T08:25:24.5924432Z         "int": {
2026-06-15T08:25:24.5924709Z           "complete": false,
2026-06-15T08:25:24.5924981Z           "evidence": []
2026-06-15T08:25:24.5925239Z         },
2026-06-15T08:25:24.5925516Z         "unit": {
2026-06-15T08:25:24.5925811Z           "complete": true,
2026-06-15T08:25:24.5926098Z           "evidence": [
2026-06-15T08:25:24.5926358Z             {
2026-06-15T08:25:24.5926737Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.5927013Z               "line": 496
2026-06-15T08:25:24.5927265Z             },
2026-06-15T08:25:24.5927524Z             {
2026-06-15T08:25:24.5927877Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.5928157Z               "line": 165
2026-06-15T08:25:24.5928412Z             },
2026-06-15T08:25:24.5928669Z             {
2026-06-15T08:25:24.5929081Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-15T08:25:24.5929461Z               "line": 175
2026-06-15T08:25:24.5929719Z             }
2026-06-15T08:25:24.5929977Z           ]
2026-06-15T08:25:24.5930243Z         }
2026-06-15T08:25:24.5930500Z       }
2026-06-15T08:25:24.5930749Z     },
2026-06-15T08:25:24.5931001Z     {
2026-06-15T08:25:24.5931430Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-15T08:25:24.5933876Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-15T08:25:24.5934179Z       "requiredStages": [
2026-06-15T08:25:24.5934440Z         "impl",
2026-06-15T08:25:24.5934706Z         "unit"
2026-06-15T08:25:24.5934963Z       ],
2026-06-15T08:25:24.5935236Z       "stages": {
2026-06-15T08:25:24.5935494Z         "doc": {
2026-06-15T08:25:24.5935794Z           "complete": false,
2026-06-15T08:25:24.5936081Z           "evidence": []
2026-06-15T08:25:24.5936333Z         },
2026-06-15T08:25:24.5936594Z         "impl": {
2026-06-15T08:25:24.5936860Z           "complete": true,
2026-06-15T08:25:24.5937140Z           "evidence": [
2026-06-15T08:25:24.5937402Z             {
2026-06-15T08:25:24.5937780Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5938055Z               "line": 192
2026-06-15T08:25:24.5938318Z             },
2026-06-15T08:25:24.5938585Z             {
2026-06-15T08:25:24.5938924Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5939258Z               "line": 275
2026-06-15T08:25:24.5939512Z             }
2026-06-15T08:25:24.5939773Z           ]
2026-06-15T08:25:24.5940031Z         },
2026-06-15T08:25:24.5940284Z         "int": {
2026-06-15T08:25:24.5940575Z           "complete": false,
2026-06-15T08:25:24.5940852Z           "evidence": []
2026-06-15T08:25:24.5941113Z         },
2026-06-15T08:25:24.5941380Z         "unit": {
2026-06-15T08:25:24.5941666Z           "complete": true,
2026-06-15T08:25:24.5941937Z           "evidence": [
2026-06-15T08:25:24.5942196Z             {
2026-06-15T08:25:24.5942548Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5942815Z               "line": 466
2026-06-15T08:25:24.5943087Z             },
2026-06-15T08:25:24.5943348Z             {
2026-06-15T08:25:24.5943697Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.5943977Z               "line": 522
2026-06-15T08:25:24.5944230Z             }
2026-06-15T08:25:24.5944492Z           ]
2026-06-15T08:25:24.5944739Z         }
2026-06-15T08:25:24.5944995Z       }
2026-06-15T08:25:24.5945252Z     },
2026-06-15T08:25:24.5945505Z     {
2026-06-15T08:25:24.5945815Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-15T08:25:24.5946283Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-15T08:25:24.5946578Z       "requiredStages": [
2026-06-15T08:25:24.5946844Z         "impl",
2026-06-15T08:25:24.5947097Z         "unit"
2026-06-15T08:25:24.5947351Z       ],
2026-06-15T08:25:24.5947621Z       "stages": {
2026-06-15T08:25:24.5947876Z         "doc": {
2026-06-15T08:25:24.5948171Z           "complete": false,
2026-06-15T08:25:24.5948453Z           "evidence": []
2026-06-15T08:25:24.5948711Z         },
2026-06-15T08:25:24.5949049Z         "impl": {
2026-06-15T08:25:24.5949325Z           "complete": true,
2026-06-15T08:25:24.5949607Z           "evidence": [
2026-06-15T08:25:24.5949861Z             {
2026-06-15T08:25:24.5950216Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.5950491Z               "line": 35
2026-06-15T08:25:24.5950748Z             }
2026-06-15T08:25:24.5951005Z           ]
2026-06-15T08:25:24.5951263Z         },
2026-06-15T08:25:24.5951515Z         "int": {
2026-06-15T08:25:24.5951812Z           "complete": false,
2026-06-15T08:25:24.5952089Z           "evidence": []
2026-06-15T08:25:24.5952347Z         },
2026-06-15T08:25:24.5952719Z         "unit": {
2026-06-15T08:25:24.5953007Z           "complete": true,
2026-06-15T08:25:24.5953283Z           "evidence": [
2026-06-15T08:25:24.5953541Z             {
2026-06-15T08:25:24.5953903Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-15T08:25:24.5954180Z               "line": 220
2026-06-15T08:25:24.5954537Z             }
2026-06-15T08:25:24.5954795Z           ]
2026-06-15T08:25:24.5955057Z         }
2026-06-15T08:25:24.5955309Z       }
2026-06-15T08:25:24.5955574Z     },
2026-06-15T08:25:24.5955831Z     {
2026-06-15T08:25:24.5956155Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-15T08:25:24.5956971Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-15T08:25:24.5957262Z       "requiredStages": [
2026-06-15T08:25:24.5957525Z         "impl",
2026-06-15T08:25:24.5957787Z         "unit"
2026-06-15T08:25:24.5958052Z       ],
2026-06-15T08:25:24.5958331Z       "stages": {
2026-06-15T08:25:24.5958589Z         "doc": {
2026-06-15T08:25:24.5958875Z           "complete": false,
2026-06-15T08:25:24.5959243Z           "evidence": []
2026-06-15T08:25:24.5959509Z         },
2026-06-15T08:25:24.5959768Z         "impl": {
2026-06-15T08:25:24.5960040Z           "complete": true,
2026-06-15T08:25:24.5960316Z           "evidence": [
2026-06-15T08:25:24.5960586Z             {
2026-06-15T08:25:24.5960974Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.5961255Z               "line": 405
2026-06-15T08:25:24.5961517Z             },
2026-06-15T08:25:24.5961776Z             {
2026-06-15T08:25:24.5962147Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.5962424Z               "line": 409
2026-06-15T08:25:24.5962673Z             },
2026-06-15T08:25:24.5962926Z             {
2026-06-15T08:25:24.5963284Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.5963558Z               "line": 156
2026-06-15T08:25:24.5963819Z             }
2026-06-15T08:25:24.5964082Z           ]
2026-06-15T08:25:24.5964331Z         },
2026-06-15T08:25:24.5964588Z         "int": {
2026-06-15T08:25:24.5964875Z           "complete": false,
2026-06-15T08:25:24.5965146Z           "evidence": []
2026-06-15T08:25:24.5965403Z         },
2026-06-15T08:25:24.5965660Z         "unit": {
2026-06-15T08:25:24.5965953Z           "complete": true,
2026-06-15T08:25:24.5966240Z           "evidence": [
2026-06-15T08:25:24.5966497Z             {
2026-06-15T08:25:24.5966874Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.5967150Z               "line": 812
2026-06-15T08:25:24.5967413Z             },
2026-06-15T08:25:24.5967669Z             {
2026-06-15T08:25:24.5968028Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.5968304Z               "line": 826
2026-06-15T08:25:24.5968560Z             },
2026-06-15T08:25:24.5968820Z             {
2026-06-15T08:25:24.5969244Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.5969530Z               "line": 845
2026-06-15T08:25:24.5969789Z             },
2026-06-15T08:25:24.5972913Z             {
2026-06-15T08:25:24.5973317Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.5973599Z               "line": 862
2026-06-15T08:25:24.5973868Z             },
2026-06-15T08:25:24.5974132Z             {
2026-06-15T08:25:24.5974547Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.5974820Z               "line": 441
2026-06-15T08:25:24.5975072Z             }
2026-06-15T08:25:24.5975339Z           ]
2026-06-15T08:25:24.5975582Z         }
2026-06-15T08:25:24.5975834Z       }
2026-06-15T08:25:24.5976089Z     },
2026-06-15T08:25:24.5976344Z     {
2026-06-15T08:25:24.5976675Z       "id": "REQ-HAZARD-VIEWER-ISOLATION",
2026-06-15T08:25:24.5983014Z       "title": "A slow / dead / hostile VIEWER must NEVER stall the controller, the PTY child, or the session drain thread. The broker drain fans output to the controller on the authoritative blocking bounded path (advances delivered_through) but to each viewer via a bounded per-viewer channel with a dedicated writer thread; the drain `try_send`s under the log lock and a viewer whose bounded queue OVERFLOWS (can't keep up) is EVICTED (queue dropped, writer thread ends, removed from the viewers map) — the drain thread NEVER touches a viewer socket, so no viewer write can backpressure or block it. A soft viewer cap bounds the thread count. Viewer eviction never perturbs the controller stream, the delivered_through cursor, or the child.",
2026-06-15T08:25:24.5983554Z       "requiredStages": [
2026-06-15T08:25:24.5983816Z         "unit",
2026-06-15T08:25:24.5984079Z         "int"
2026-06-15T08:25:24.5984342Z       ],
2026-06-15T08:25:24.5984601Z       "stages": {
2026-06-15T08:25:24.5984864Z         "doc": {
2026-06-15T08:25:24.5985137Z           "complete": true,
2026-06-15T08:25:24.5985417Z           "evidence": [
2026-06-15T08:25:24.5985675Z             {
2026-06-15T08:25:24.5986019Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.5986305Z               "line": 374
2026-06-15T08:25:24.5986557Z             }
2026-06-15T08:25:24.5986818Z           ]
2026-06-15T08:25:24.5987073Z         },
2026-06-15T08:25:24.5987346Z         "impl": {
2026-06-15T08:25:24.5987627Z           "complete": true,
2026-06-15T08:25:24.5987937Z           "evidence": [
2026-06-15T08:25:24.5988199Z             {
2026-06-15T08:25:24.5988571Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5988843Z               "line": 97
2026-06-15T08:25:24.5989167Z             }
2026-06-15T08:25:24.5989439Z           ]
2026-06-15T08:25:24.5989685Z         },
2026-06-15T08:25:24.5989945Z         "int": {
2026-06-15T08:25:24.5990237Z           "complete": true,
2026-06-15T08:25:24.5990508Z           "evidence": [
2026-06-15T08:25:24.5990766Z             {
2026-06-15T08:25:24.5991128Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.5991415Z               "line": 918
2026-06-15T08:25:24.5991671Z             }
2026-06-15T08:25:24.5991929Z           ]
2026-06-15T08:25:24.5992190Z         },
2026-06-15T08:25:24.5992451Z         "unit": {
2026-06-15T08:25:24.5992741Z           "complete": true,
2026-06-15T08:25:24.5993013Z           "evidence": [
2026-06-15T08:25:24.5993274Z             {
2026-06-15T08:25:24.5993653Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.5993928Z               "line": 1459
2026-06-15T08:25:24.5994185Z             }
2026-06-15T08:25:24.5994438Z           ]
2026-06-15T08:25:24.5994705Z         }
2026-06-15T08:25:24.5994959Z       }
2026-06-15T08:25:24.5995219Z     },
2026-06-15T08:25:24.5995471Z     {
2026-06-15T08:25:24.5995800Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-15T08:25:24.5998076Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-15T08:25:24.5998362Z       "requiredStages": [
2026-06-15T08:25:24.5998620Z         "doc",
2026-06-15T08:25:24.5998883Z         "impl",
2026-06-15T08:25:24.5999226Z         "unit"
2026-06-15T08:25:24.5999484Z       ],
2026-06-15T08:25:24.5999747Z       "stages": {
2026-06-15T08:25:24.6000023Z         "doc": {
2026-06-15T08:25:24.6000311Z           "complete": true,
2026-06-15T08:25:24.6000591Z           "evidence": [
2026-06-15T08:25:24.6000844Z             {
2026-06-15T08:25:24.6001172Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-15T08:25:24.6001450Z               "line": 359
2026-06-15T08:25:24.6001707Z             }
2026-06-15T08:25:24.6001960Z           ]
2026-06-15T08:25:24.6002222Z         },
2026-06-15T08:25:24.6002489Z         "impl": {
2026-06-15T08:25:24.6002770Z           "complete": true,
2026-06-15T08:25:24.6003049Z           "evidence": [
2026-06-15T08:25:24.6003306Z             {
2026-06-15T08:25:24.6003673Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.6004106Z               "line": 85
2026-06-15T08:25:24.6004369Z             },
2026-06-15T08:25:24.6004641Z             {
2026-06-15T08:25:24.6004998Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.6005279Z               "line": 105
2026-06-15T08:25:24.6005636Z             },
2026-06-15T08:25:24.6005899Z             {
2026-06-15T08:25:24.6006280Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.6006552Z               "line": 55
2026-06-15T08:25:24.6006810Z             },
2026-06-15T08:25:24.6007067Z             {
2026-06-15T08:25:24.6007439Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.6007716Z               "line": 31
2026-06-15T08:25:24.6007967Z             },
2026-06-15T08:25:24.6008231Z             {
2026-06-15T08:25:24.6008603Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.6008880Z               "line": 189
2026-06-15T08:25:24.6009223Z             },
2026-06-15T08:25:24.6009481Z             {
2026-06-15T08:25:24.6009857Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.6010129Z               "line": 95
2026-06-15T08:25:24.6010392Z             },
2026-06-15T08:25:24.6010646Z             {
2026-06-15T08:25:24.6011024Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.6011314Z               "line": 29
2026-06-15T08:25:24.6011571Z             },
2026-06-15T08:25:24.6011828Z             {
2026-06-15T08:25:24.6012205Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.6012486Z               "line": 104
2026-06-15T08:25:24.6012748Z             },
2026-06-15T08:25:24.6013015Z             {
2026-06-15T08:25:24.6013405Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6013680Z               "line": 208
2026-06-15T08:25:24.6013938Z             },
2026-06-15T08:25:24.6014195Z             {
2026-06-15T08:25:24.6014567Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-15T08:25:24.6014839Z               "line": 28
2026-06-15T08:25:24.6015107Z             },
2026-06-15T08:25:24.6015363Z             {
2026-06-15T08:25:24.6015731Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-15T08:25:24.6016008Z               "line": 74
2026-06-15T08:25:24.6016277Z             },
2026-06-15T08:25:24.6016530Z             {
2026-06-15T08:25:24.6016911Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.6017183Z               "line": 32
2026-06-15T08:25:24.6017441Z             },
2026-06-15T08:25:24.6017699Z             {
2026-06-15T08:25:24.6018057Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6018324Z               "line": 40
2026-06-15T08:25:24.6018589Z             },
2026-06-15T08:25:24.6018844Z             {
2026-06-15T08:25:24.6019264Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6019531Z               "line": 184
2026-06-15T08:25:24.6019783Z             },
2026-06-15T08:25:24.6020037Z             {
2026-06-15T08:25:24.6020384Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.6020665Z               "line": 61
2026-06-15T08:25:24.6020919Z             },
2026-06-15T08:25:24.6021177Z             {
2026-06-15T08:25:24.6021527Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.6021802Z               "line": 131
2026-06-15T08:25:24.6022069Z             },
2026-06-15T08:25:24.6022321Z             {
2026-06-15T08:25:24.6022664Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.6022937Z               "line": 223
2026-06-15T08:25:24.6023190Z             },
2026-06-15T08:25:24.6023443Z             {
2026-06-15T08:25:24.6023796Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-15T08:25:24.6024070Z               "line": 37
2026-06-15T08:25:24.6024330Z             },
2026-06-15T08:25:24.6024588Z             {
2026-06-15T08:25:24.6025056Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.6025328Z               "line": 38
2026-06-15T08:25:24.6025598Z             },
2026-06-15T08:25:24.6025856Z             {
2026-06-15T08:25:24.6026223Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.6026495Z               "line": 36
2026-06-15T08:25:24.6026846Z             },
2026-06-15T08:25:24.6027105Z             {
2026-06-15T08:25:24.6027452Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-15T08:25:24.6027729Z               "line": 40
2026-06-15T08:25:24.6027977Z             }
2026-06-15T08:25:24.6028241Z           ]
2026-06-15T08:25:24.6028498Z         },
2026-06-15T08:25:24.6028759Z         "int": {
2026-06-15T08:25:24.6029120Z           "complete": false,
2026-06-15T08:25:24.6029394Z           "evidence": []
2026-06-15T08:25:24.6029652Z         },
2026-06-15T08:25:24.6029910Z         "unit": {
2026-06-15T08:25:24.6030197Z           "complete": true,
2026-06-15T08:25:24.6030478Z           "evidence": [
2026-06-15T08:25:24.6030739Z             {
2026-06-15T08:25:24.6031117Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.6031394Z               "line": 212
2026-06-15T08:25:24.6031655Z             },
2026-06-15T08:25:24.6031911Z             {
2026-06-15T08:25:24.6032309Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-15T08:25:24.6032585Z               "line": 136
2026-06-15T08:25:24.6032849Z             },
2026-06-15T08:25:24.6033106Z             {
2026-06-15T08:25:24.6033502Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.6033773Z               "line": 685
2026-06-15T08:25:24.6034032Z             },
2026-06-15T08:25:24.6034290Z             {
2026-06-15T08:25:24.6034650Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.6034915Z               "line": 224
2026-06-15T08:25:24.6035172Z             },
2026-06-15T08:25:24.6035434Z             {
2026-06-15T08:25:24.6035806Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-15T08:25:24.6036087Z               "line": 206
2026-06-15T08:25:24.6036360Z             },
2026-06-15T08:25:24.6036617Z             {
2026-06-15T08:25:24.6036978Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.6037252Z               "line": 112
2026-06-15T08:25:24.6037522Z             },
2026-06-15T08:25:24.6037774Z             {
2026-06-15T08:25:24.6038123Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-15T08:25:24.6038399Z               "line": 157
2026-06-15T08:25:24.6038656Z             },
2026-06-15T08:25:24.6038919Z             {
2026-06-15T08:25:24.6039372Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.6039652Z               "line": 215
2026-06-15T08:25:24.6039912Z             },
2026-06-15T08:25:24.6040170Z             {
2026-06-15T08:25:24.6040532Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.6040809Z               "line": 141
2026-06-15T08:25:24.6041076Z             },
2026-06-15T08:25:24.6041344Z             {
2026-06-15T08:25:24.6041687Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-15T08:25:24.6041964Z               "line": 162
2026-06-15T08:25:24.6042215Z             }
2026-06-15T08:25:24.6042476Z           ]
2026-06-15T08:25:24.6042727Z         }
2026-06-15T08:25:24.6042995Z       }
2026-06-15T08:25:24.6043242Z     },
2026-06-15T08:25:24.6043484Z     {
2026-06-15T08:25:24.6043833Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-15T08:25:24.6044305Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-15T08:25:24.6044592Z       "requiredStages": [
2026-06-15T08:25:24.6044859Z         "impl",
2026-06-15T08:25:24.6045133Z         "unit"
2026-06-15T08:25:24.6045379Z       ],
2026-06-15T08:25:24.6045651Z       "stages": {
2026-06-15T08:25:24.6045913Z         "doc": {
2026-06-15T08:25:24.6046200Z           "complete": false,
2026-06-15T08:25:24.6046467Z           "evidence": []
2026-06-15T08:25:24.6046834Z         },
2026-06-15T08:25:24.6047092Z         "impl": {
2026-06-15T08:25:24.6047378Z           "complete": true,
2026-06-15T08:25:24.6047649Z           "evidence": [
2026-06-15T08:25:24.6047915Z             {
2026-06-15T08:25:24.6048258Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.6048530Z               "line": 95
2026-06-15T08:25:24.6048887Z             },
2026-06-15T08:25:24.6049216Z             {
2026-06-15T08:25:24.6049579Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.6049860Z               "line": 102
2026-06-15T08:25:24.6050112Z             }
2026-06-15T08:25:24.6050369Z           ]
2026-06-15T08:25:24.6050630Z         },
2026-06-15T08:25:24.6050887Z         "int": {
2026-06-15T08:25:24.6051163Z           "complete": false,
2026-06-15T08:25:24.6051440Z           "evidence": []
2026-06-15T08:25:24.6051698Z         },
2026-06-15T08:25:24.6051969Z         "unit": {
2026-06-15T08:25:24.6052252Z           "complete": true,
2026-06-15T08:25:24.6052524Z           "evidence": [
2026-06-15T08:25:24.6052775Z             {
2026-06-15T08:25:24.6053132Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.6053415Z               "line": 250
2026-06-15T08:25:24.6053668Z             },
2026-06-15T08:25:24.6053926Z             {
2026-06-15T08:25:24.6054274Z               "path": "crates/spt-store/src/proc.rs",
2026-06-15T08:25:24.6054565Z               "line": 198
2026-06-15T08:25:24.6054818Z             },
2026-06-15T08:25:24.6055076Z             {
2026-06-15T08:25:24.6055429Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.6055713Z               "line": 484
2026-06-15T08:25:24.6055972Z             },
2026-06-15T08:25:24.6056226Z             {
2026-06-15T08:25:24.6056569Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.6056846Z               "line": 517
2026-06-15T08:25:24.6057108Z             }
2026-06-15T08:25:24.6057361Z           ]
2026-06-15T08:25:24.6057618Z         }
2026-06-15T08:25:24.6057870Z       }
2026-06-15T08:25:24.6058118Z     },
2026-06-15T08:25:24.6058377Z     {
2026-06-15T08:25:24.6058690Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-15T08:25:24.6059291Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-15T08:25:24.6059587Z       "requiredStages": [
2026-06-15T08:25:24.6059858Z         "impl",
2026-06-15T08:25:24.6060110Z         "unit"
2026-06-15T08:25:24.6060367Z       ],
2026-06-15T08:25:24.6060635Z       "stages": {
2026-06-15T08:25:24.6060892Z         "doc": {
2026-06-15T08:25:24.6061180Z           "complete": false,
2026-06-15T08:25:24.6061457Z           "evidence": []
2026-06-15T08:25:24.6061719Z         },
2026-06-15T08:25:24.6061985Z         "impl": {
2026-06-15T08:25:24.6062268Z           "complete": true,
2026-06-15T08:25:24.6062539Z           "evidence": [
2026-06-15T08:25:24.6062793Z             {
2026-06-15T08:25:24.6063150Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6063423Z               "line": 262
2026-06-15T08:25:24.6063682Z             },
2026-06-15T08:25:24.6063942Z             {
2026-06-15T08:25:24.6064281Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6064557Z               "line": 307
2026-06-15T08:25:24.6064820Z             },
2026-06-15T08:25:24.6065078Z             {
2026-06-15T08:25:24.6065430Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6065698Z               "line": 319
2026-06-15T08:25:24.6065956Z             }
2026-06-15T08:25:24.6066215Z           ]
2026-06-15T08:25:24.6066476Z         },
2026-06-15T08:25:24.6066739Z         "int": {
2026-06-15T08:25:24.6067015Z           "complete": false,
2026-06-15T08:25:24.6067296Z           "evidence": []
2026-06-15T08:25:24.6067544Z         },
2026-06-15T08:25:24.6067810Z         "unit": {
2026-06-15T08:25:24.6068087Z           "complete": true,
2026-06-15T08:25:24.6068368Z           "evidence": [
2026-06-15T08:25:24.6068617Z             {
2026-06-15T08:25:24.6069154Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6069436Z               "line": 455
2026-06-15T08:25:24.6069684Z             },
2026-06-15T08:25:24.6069947Z             {
2026-06-15T08:25:24.6070299Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6070575Z               "line": 499
2026-06-15T08:25:24.6070932Z             }
2026-06-15T08:25:24.6071195Z           ]
2026-06-15T08:25:24.6071456Z         }
2026-06-15T08:25:24.6071712Z       }
2026-06-15T08:25:24.6071964Z     },
2026-06-15T08:25:24.6072217Z     {
2026-06-15T08:25:24.6072513Z       "id": "REQ-HOST-RUN-1",
2026-06-15T08:25:24.6079210Z       "title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.self]` command template into a broker-held PTY (the spawn-session seam, brain.rs spawn_session_pid — same broker path shellhost.rs launch_shell_brokered_in uses for shells, now for kind=\"harness\" self-role), registers the perch under the given endpoint id, returns the id. Reverses today's harness-hosted-only launch (external launcher → `api bind`). Non-interactive flag set (--adapter <a[:profile]> --id <id> --create --resume <session> --attach|--start|--view) covers every terminal action of the W2 interactive picker so shortcuts (cc-<id>) bake fully non-interactive launches; composite adapter:profile resolves via registry::resolve_option leaf-replace overlay.",
2026-06-15T08:25:24.6079548Z       "requiredStages": [
2026-06-15T08:25:24.6079806Z         "impl",
2026-06-15T08:25:24.6080068Z         "unit",
2026-06-15T08:25:24.6080325Z         "int"
2026-06-15T08:25:24.6080587Z       ],
2026-06-15T08:25:24.6080859Z       "stages": {
2026-06-15T08:25:24.6081121Z         "doc": {
2026-06-15T08:25:24.6081418Z           "complete": false,
2026-06-15T08:25:24.6081699Z           "evidence": []
2026-06-15T08:25:24.6081959Z         },
2026-06-15T08:25:24.6082219Z         "impl": {
2026-06-15T08:25:24.6082505Z           "complete": true,
2026-06-15T08:25:24.6082778Z           "evidence": [
2026-06-15T08:25:24.6083059Z             {
2026-06-15T08:25:24.6083458Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6083731Z               "line": 24
2026-06-15T08:25:24.6083989Z             },
2026-06-15T08:25:24.6084242Z             {
2026-06-15T08:25:24.6084637Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6084922Z               "line": 63
2026-06-15T08:25:24.6085182Z             },
2026-06-15T08:25:24.6085448Z             {
2026-06-15T08:25:24.6085822Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6086102Z               "line": 109
2026-06-15T08:25:24.6086359Z             },
2026-06-15T08:25:24.6086617Z             {
2026-06-15T08:25:24.6086936Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6087217Z               "line": 1159
2026-06-15T08:25:24.6087479Z             }
2026-06-15T08:25:24.6087739Z           ]
2026-06-15T08:25:24.6087991Z         },
2026-06-15T08:25:24.6088268Z         "int": {
2026-06-15T08:25:24.6088540Z           "complete": true,
2026-06-15T08:25:24.6088821Z           "evidence": [
2026-06-15T08:25:24.6089131Z             {
2026-06-15T08:25:24.6089498Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.6089770Z               "line": 279
2026-06-15T08:25:24.6090033Z             }
2026-06-15T08:25:24.6090289Z           ]
2026-06-15T08:25:24.6090546Z         },
2026-06-15T08:25:24.6090804Z         "unit": {
2026-06-15T08:25:24.6091076Z           "complete": true,
2026-06-15T08:25:24.6091362Z           "evidence": [
2026-06-15T08:25:24.6091615Z             {
2026-06-15T08:25:24.6092010Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6092278Z               "line": 149
2026-06-15T08:25:24.6092539Z             },
2026-06-15T08:25:24.6092793Z             {
2026-06-15T08:25:24.6093185Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6093456Z               "line": 169
2026-06-15T08:25:24.6093843Z             },
2026-06-15T08:25:24.6094105Z             {
2026-06-15T08:25:24.6094492Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6094774Z               "line": 202
2026-06-15T08:25:24.6095036Z             }
2026-06-15T08:25:24.6095301Z           ]
2026-06-15T08:25:24.6095656Z         }
2026-06-15T08:25:24.6095918Z       }
2026-06-15T08:25:24.6096177Z     },
2026-06-15T08:25:24.6096439Z     {
2026-06-15T08:25:24.6096735Z       "id": "REQ-HOST-RUN-2",
2026-06-15T08:25:24.6102275Z       "title": "Project-scoped working directory for spt-hosted bringup: `spt endpoint run` lands the broker-spawned harness PTY in the user's PROJECT cwd, not the daemon's, via an additive `SpawnReq.cwd` field carried through the broker PTY spawn (portable-pty CommandBuilder cwd). N-1-safe wire change (additive, defaulted). Required because the consumer (Claude Code) is project-scoped: broker-inherited cwd = the daemon's cwd = the wrong `.claude`, wrong session history, wrong digest source; `cc <id>` at a project root MUST land the harness in that project. W1 ships broker-inherited cwd as a bringup-proof shortcut only; this REQ must land before the M12 gate (doyle, 2026-06-14).",
2026-06-15T08:25:24.6102575Z       "requiredStages": [
2026-06-15T08:25:24.6102838Z         "impl",
2026-06-15T08:25:24.6103123Z         "unit",
2026-06-15T08:25:24.6103382Z         "int"
2026-06-15T08:25:24.6103639Z       ],
2026-06-15T08:25:24.6103898Z       "stages": {
2026-06-15T08:25:24.6104169Z         "doc": {
2026-06-15T08:25:24.6104456Z           "complete": false,
2026-06-15T08:25:24.6104737Z           "evidence": []
2026-06-15T08:25:24.6105005Z         },
2026-06-15T08:25:24.6105256Z         "impl": {
2026-06-15T08:25:24.6105557Z           "complete": true,
2026-06-15T08:25:24.6105818Z           "evidence": [
2026-06-15T08:25:24.6106074Z             {
2026-06-15T08:25:24.6106460Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-15T08:25:24.6106746Z               "line": 110
2026-06-15T08:25:24.6107018Z             },
2026-06-15T08:25:24.6107266Z             {
2026-06-15T08:25:24.6107605Z               "path": "crates/spt-term/src/pty.rs",
2026-06-15T08:25:24.6107877Z               "line": 113
2026-06-15T08:25:24.6108133Z             }
2026-06-15T08:25:24.6108399Z           ]
2026-06-15T08:25:24.6108669Z         },
2026-06-15T08:25:24.6108926Z         "int": {
2026-06-15T08:25:24.6109299Z           "complete": true,
2026-06-15T08:25:24.6109579Z           "evidence": [
2026-06-15T08:25:24.6109833Z             {
2026-06-15T08:25:24.6110209Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.6110482Z               "line": 454
2026-06-15T08:25:24.6110749Z             }
2026-06-15T08:25:24.6111010Z           ]
2026-06-15T08:25:24.6111266Z         },
2026-06-15T08:25:24.6111534Z         "unit": {
2026-06-15T08:25:24.6111820Z           "complete": true,
2026-06-15T08:25:24.6112092Z           "evidence": [
2026-06-15T08:25:24.6112349Z             {
2026-06-15T08:25:24.6112727Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-15T08:25:24.6112998Z               "line": 86
2026-06-15T08:25:24.6113255Z             }
2026-06-15T08:25:24.6113511Z           ]
2026-06-15T08:25:24.6113767Z         }
2026-06-15T08:25:24.6114024Z       }
2026-06-15T08:25:24.6114267Z     },
2026-06-15T08:25:24.6114528Z     {
2026-06-15T08:25:24.6114805Z       "id": "REQ-INFRA-1",
2026-06-15T08:25:24.6115359Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-15T08:25:24.6115650Z       "requiredStages": [],
2026-06-15T08:25:24.6115923Z       "stages": {
2026-06-15T08:25:24.6116175Z         "doc": {
2026-06-15T08:25:24.6116454Z           "complete": false,
2026-06-15T08:25:24.6116738Z           "evidence": []
2026-06-15T08:25:24.6116996Z         },
2026-06-15T08:25:24.6117259Z         "impl": {
2026-06-15T08:25:24.6117545Z           "complete": false,
2026-06-15T08:25:24.6117822Z           "evidence": []
2026-06-15T08:25:24.6118188Z         },
2026-06-15T08:25:24.6118447Z         "int": {
2026-06-15T08:25:24.6118737Z           "complete": false,
2026-06-15T08:25:24.6119088Z           "evidence": []
2026-06-15T08:25:24.6119338Z         },
2026-06-15T08:25:24.6119605Z         "unit": {
2026-06-15T08:25:24.6119883Z           "complete": false,
2026-06-15T08:25:24.6120263Z           "evidence": []
2026-06-15T08:25:24.6120521Z         }
2026-06-15T08:25:24.6120793Z       }
2026-06-15T08:25:24.6121070Z     },
2026-06-15T08:25:24.6121328Z     {
2026-06-15T08:25:24.6121614Z       "id": "REQ-INST-1",
2026-06-15T08:25:24.6122090Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-15T08:25:24.6122384Z       "requiredStages": [],
2026-06-15T08:25:24.6122652Z       "stages": {
2026-06-15T08:25:24.6122904Z         "doc": {
2026-06-15T08:25:24.6123199Z           "complete": false,
2026-06-15T08:25:24.6123476Z           "evidence": []
2026-06-15T08:25:24.6123733Z         },
2026-06-15T08:25:24.6123996Z         "impl": {
2026-06-15T08:25:24.6124290Z           "complete": false,
2026-06-15T08:25:24.6124565Z           "evidence": []
2026-06-15T08:25:24.6124818Z         },
2026-06-15T08:25:24.6125089Z         "int": {
2026-06-15T08:25:24.6125370Z           "complete": false,
2026-06-15T08:25:24.6125647Z           "evidence": []
2026-06-15T08:25:24.6125909Z         },
2026-06-15T08:25:24.6126187Z         "unit": {
2026-06-15T08:25:24.6126469Z           "complete": false,
2026-06-15T08:25:24.6126749Z           "evidence": []
2026-06-15T08:25:24.6127000Z         }
2026-06-15T08:25:24.6127256Z       }
2026-06-15T08:25:24.6127518Z     },
2026-06-15T08:25:24.6127771Z     {
2026-06-15T08:25:24.6128058Z       "id": "REQ-INST-10",
2026-06-15T08:25:24.6128682Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-15T08:25:24.6129059Z       "requiredStages": [
2026-06-15T08:25:24.6129326Z         "impl",
2026-06-15T08:25:24.6129595Z         "unit"
2026-06-15T08:25:24.6129855Z       ],
2026-06-15T08:25:24.6130118Z       "stages": {
2026-06-15T08:25:24.6130390Z         "doc": {
2026-06-15T08:25:24.6130676Z           "complete": false,
2026-06-15T08:25:24.6130953Z           "evidence": []
2026-06-15T08:25:24.6131214Z         },
2026-06-15T08:25:24.6131481Z         "impl": {
2026-06-15T08:25:24.6131763Z           "complete": true,
2026-06-15T08:25:24.6132039Z           "evidence": [
2026-06-15T08:25:24.6132298Z             {
2026-06-15T08:25:24.6132678Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6132959Z               "line": 616
2026-06-15T08:25:24.6133227Z             },
2026-06-15T08:25:24.6133489Z             {
2026-06-15T08:25:24.6133861Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6134137Z               "line": 693
2026-06-15T08:25:24.6134408Z             },
2026-06-15T08:25:24.6134665Z             {
2026-06-15T08:25:24.6135019Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6135296Z               "line": 13
2026-06-15T08:25:24.6135559Z             },
2026-06-15T08:25:24.6135826Z             {
2026-06-15T08:25:24.6136160Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6136441Z               "line": 67
2026-06-15T08:25:24.6136700Z             },
2026-06-15T08:25:24.6136961Z             {
2026-06-15T08:25:24.6137310Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6137588Z               "line": 18
2026-06-15T08:25:24.6137854Z             },
2026-06-15T08:25:24.6138116Z             {
2026-06-15T08:25:24.6138445Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6138717Z               "line": 444
2026-06-15T08:25:24.6139046Z             }
2026-06-15T08:25:24.6139299Z           ]
2026-06-15T08:25:24.6139542Z         },
2026-06-15T08:25:24.6139799Z         "int": {
2026-06-15T08:25:24.6140084Z           "complete": false,
2026-06-15T08:25:24.6140363Z           "evidence": []
2026-06-15T08:25:24.6140622Z         },
2026-06-15T08:25:24.6141003Z         "unit": {
2026-06-15T08:25:24.6141284Z           "complete": true,
2026-06-15T08:25:24.6141551Z           "evidence": [
2026-06-15T08:25:24.6141814Z             {
2026-06-15T08:25:24.6142195Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6142481Z               "line": 900
2026-06-15T08:25:24.6142739Z             },
2026-06-15T08:25:24.6143095Z             {
2026-06-15T08:25:24.6143472Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6143744Z               "line": 1233
2026-06-15T08:25:24.6144005Z             },
2026-06-15T08:25:24.6144262Z             {
2026-06-15T08:25:24.6144635Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6144901Z               "line": 1244
2026-06-15T08:25:24.6145163Z             },
2026-06-15T08:25:24.6145425Z             {
2026-06-15T08:25:24.6145795Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6146076Z               "line": 1260
2026-06-15T08:25:24.6146349Z             },
2026-06-15T08:25:24.6146611Z             {
2026-06-15T08:25:24.6146988Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6147264Z               "line": 1276
2026-06-15T08:25:24.6147536Z             },
2026-06-15T08:25:24.6147797Z             {
2026-06-15T08:25:24.6148178Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6148461Z               "line": 1298
2026-06-15T08:25:24.6148723Z             },
2026-06-15T08:25:24.6149076Z             {
2026-06-15T08:25:24.6149449Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6149725Z               "line": 1603
2026-06-15T08:25:24.6149982Z             },
2026-06-15T08:25:24.6150240Z             {
2026-06-15T08:25:24.6150578Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6150849Z               "line": 130
2026-06-15T08:25:24.6151110Z             },
2026-06-15T08:25:24.6151372Z             {
2026-06-15T08:25:24.6151715Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6151991Z               "line": 167
2026-06-15T08:25:24.6152253Z             },
2026-06-15T08:25:24.6152511Z             {
2026-06-15T08:25:24.6152859Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6153135Z               "line": 175
2026-06-15T08:25:24.6153399Z             },
2026-06-15T08:25:24.6153665Z             {
2026-06-15T08:25:24.6154008Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-15T08:25:24.6154295Z               "line": 183
2026-06-15T08:25:24.6154556Z             },
2026-06-15T08:25:24.6154813Z             {
2026-06-15T08:25:24.6155151Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6155428Z               "line": 896
2026-06-15T08:25:24.6155690Z             }
2026-06-15T08:25:24.6155947Z           ]
2026-06-15T08:25:24.6156212Z         }
2026-06-15T08:25:24.6156464Z       }
2026-06-15T08:25:24.6156731Z     },
2026-06-15T08:25:24.6156985Z     {
2026-06-15T08:25:24.6157266Z       "id": "REQ-INST-11",
2026-06-15T08:25:24.6157924Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-15T08:25:24.6158215Z       "requiredStages": [
2026-06-15T08:25:24.6158473Z         "impl",
2026-06-15T08:25:24.6158738Z         "unit"
2026-06-15T08:25:24.6159079Z       ],
2026-06-15T08:25:24.6159355Z       "stages": {
2026-06-15T08:25:24.6159612Z         "doc": {
2026-06-15T08:25:24.6159904Z           "complete": false,
2026-06-15T08:25:24.6160185Z           "evidence": []
2026-06-15T08:25:24.6160439Z         },
2026-06-15T08:25:24.6160692Z         "impl": {
2026-06-15T08:25:24.6160988Z           "complete": true,
2026-06-15T08:25:24.6161261Z           "evidence": [
2026-06-15T08:25:24.6161512Z             {
2026-06-15T08:25:24.6161888Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6162155Z               "line": 482
2026-06-15T08:25:24.6162419Z             },
2026-06-15T08:25:24.6162676Z             {
2026-06-15T08:25:24.6163181Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6163457Z               "line": 297
2026-06-15T08:25:24.6163719Z             },
2026-06-15T08:25:24.6163968Z             {
2026-06-15T08:25:24.6164325Z               "path": "crates/spt-store/src/rename.rs",
2026-06-15T08:25:24.6164744Z               "line": 59
2026-06-15T08:25:24.6165011Z             },
2026-06-15T08:25:24.6165283Z             {
2026-06-15T08:25:24.6165607Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6165884Z               "line": 4732
2026-06-15T08:25:24.6166152Z             },
2026-06-15T08:25:24.6166416Z             {
2026-06-15T08:25:24.6166733Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6167015Z               "line": 6047
2026-06-15T08:25:24.6167273Z             }
2026-06-15T08:25:24.6167535Z           ]
2026-06-15T08:25:24.6167793Z         },
2026-06-15T08:25:24.6168060Z         "int": {
2026-06-15T08:25:24.6168341Z           "complete": false,
2026-06-15T08:25:24.6168627Z           "evidence": []
2026-06-15T08:25:24.6168885Z         },
2026-06-15T08:25:24.6169227Z         "unit": {
2026-06-15T08:25:24.6169505Z           "complete": true,
2026-06-15T08:25:24.6169774Z           "evidence": [
2026-06-15T08:25:24.6170040Z             {
2026-06-15T08:25:24.6170412Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6170707Z               "line": 1403
2026-06-15T08:25:24.6170966Z             },
2026-06-15T08:25:24.6171233Z             {
2026-06-15T08:25:24.6171600Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6171875Z               "line": 1436
2026-06-15T08:25:24.6172143Z             },
2026-06-15T08:25:24.6172401Z             {
2026-06-15T08:25:24.6172801Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6173068Z               "line": 527
2026-06-15T08:25:24.6173336Z             },
2026-06-15T08:25:24.6173593Z             {
2026-06-15T08:25:24.6173950Z               "path": "crates/spt-store/src/rename.rs",
2026-06-15T08:25:24.6174237Z               "line": 160
2026-06-15T08:25:24.6174496Z             },
2026-06-15T08:25:24.6174755Z             {
2026-06-15T08:25:24.6175109Z               "path": "crates/spt-store/src/rename.rs",
2026-06-15T08:25:24.6175381Z               "line": 190
2026-06-15T08:25:24.6175656Z             },
2026-06-15T08:25:24.6175910Z             {
2026-06-15T08:25:24.6176267Z               "path": "crates/spt-store/src/rename.rs",
2026-06-15T08:25:24.6176548Z               "line": 225
2026-06-15T08:25:24.6176806Z             },
2026-06-15T08:25:24.6177062Z             {
2026-06-15T08:25:24.6177380Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6177662Z               "line": 6436
2026-06-15T08:25:24.6177918Z             }
2026-06-15T08:25:24.6178176Z           ]
2026-06-15T08:25:24.6178434Z         }
2026-06-15T08:25:24.6178696Z       }
2026-06-15T08:25:24.6179025Z     },
2026-06-15T08:25:24.6179283Z     {
2026-06-15T08:25:24.6182449Z       "id": "REQ-INST-12",
2026-06-15T08:25:24.6183396Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-15T08:25:24.6183696Z       "requiredStages": [
2026-06-15T08:25:24.6183967Z         "impl",
2026-06-15T08:25:24.6184230Z         "unit"
2026-06-15T08:25:24.6184496Z       ],
2026-06-15T08:25:24.6184756Z       "stages": {
2026-06-15T08:25:24.6185027Z         "doc": {
2026-06-15T08:25:24.6185316Z           "complete": false,
2026-06-15T08:25:24.6185582Z           "evidence": []
2026-06-15T08:25:24.6185840Z         },
2026-06-15T08:25:24.6186108Z         "impl": {
2026-06-15T08:25:24.6186389Z           "complete": true,
2026-06-15T08:25:24.6186675Z           "evidence": [
2026-06-15T08:25:24.6186938Z             {
2026-06-15T08:25:24.6187324Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6187609Z               "line": 534
2026-06-15T08:25:24.6187868Z             },
2026-06-15T08:25:24.6188279Z             {
2026-06-15T08:25:24.6188655Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6188922Z               "line": 627
2026-06-15T08:25:24.6189265Z             },
2026-06-15T08:25:24.6189519Z             {
2026-06-15T08:25:24.6189891Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6190276Z               "line": 707
2026-06-15T08:25:24.6190532Z             },
2026-06-15T08:25:24.6190793Z             {
2026-06-15T08:25:24.6191142Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6191409Z               "line": 96
2026-06-15T08:25:24.6191670Z             },
2026-06-15T08:25:24.6191928Z             {
2026-06-15T08:25:24.6192285Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6192567Z               "line": 269
2026-06-15T08:25:24.6192824Z             },
2026-06-15T08:25:24.6193076Z             {
2026-06-15T08:25:24.6193447Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6193737Z               "line": 135
2026-06-15T08:25:24.6194004Z             }
2026-06-15T08:25:24.6194261Z           ]
2026-06-15T08:25:24.6194518Z         },
2026-06-15T08:25:24.6194786Z         "int": {
2026-06-15T08:25:24.6195070Z           "complete": false,
2026-06-15T08:25:24.6195348Z           "evidence": []
2026-06-15T08:25:24.6195616Z         },
2026-06-15T08:25:24.6195881Z         "unit": {
2026-06-15T08:25:24.6196157Z           "complete": true,
2026-06-15T08:25:24.6196443Z           "evidence": [
2026-06-15T08:25:24.6196706Z             {
2026-06-15T08:25:24.6197082Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6197363Z               "line": 1478
2026-06-15T08:25:24.6197621Z             },
2026-06-15T08:25:24.6197875Z             {
2026-06-15T08:25:24.6198243Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6198529Z               "line": 1501
2026-06-15T08:25:24.6198801Z             },
2026-06-15T08:25:24.6199126Z             {
2026-06-15T08:25:24.6199502Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6199779Z               "line": 1538
2026-06-15T08:25:24.6200041Z             },
2026-06-15T08:25:24.6200293Z             {
2026-06-15T08:25:24.6200647Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6200930Z               "line": 457
2026-06-15T08:25:24.6201186Z             },
2026-06-15T08:25:24.6201449Z             {
2026-06-15T08:25:24.6201839Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6202112Z               "line": 172
2026-06-15T08:25:24.6202369Z             },
2026-06-15T08:25:24.6202623Z             {
2026-06-15T08:25:24.6203004Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6203280Z               "line": 193
2026-06-15T08:25:24.6203540Z             },
2026-06-15T08:25:24.6203795Z             {
2026-06-15T08:25:24.6204181Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6204453Z               "line": 219
2026-06-15T08:25:24.6204730Z             }
2026-06-15T08:25:24.6204992Z           ]
2026-06-15T08:25:24.6205246Z         }
2026-06-15T08:25:24.6205504Z       }
2026-06-15T08:25:24.6205761Z     },
2026-06-15T08:25:24.6206018Z     {
2026-06-15T08:25:24.6206293Z       "id": "REQ-INST-13",
2026-06-15T08:25:24.6206865Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-15T08:25:24.6207162Z       "requiredStages": [
2026-06-15T08:25:24.6207424Z         "impl",
2026-06-15T08:25:24.6207690Z         "unit"
2026-06-15T08:25:24.6207947Z       ],
2026-06-15T08:25:24.6208219Z       "stages": {
2026-06-15T08:25:24.6208477Z         "doc": {
2026-06-15T08:25:24.6208767Z           "complete": false,
2026-06-15T08:25:24.6209119Z           "evidence": []
2026-06-15T08:25:24.6209380Z         },
2026-06-15T08:25:24.6209652Z         "impl": {
2026-06-15T08:25:24.6209938Z           "complete": true,
2026-06-15T08:25:24.6210344Z           "evidence": [
2026-06-15T08:25:24.6210596Z             {
2026-06-15T08:25:24.6210955Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6211231Z               "line": 100
2026-06-15T08:25:24.6211490Z             },
2026-06-15T08:25:24.6211751Z             {
2026-06-15T08:25:24.6212127Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6212500Z               "line": 158
2026-06-15T08:25:24.6212757Z             }
2026-06-15T08:25:24.6213015Z           ]
2026-06-15T08:25:24.6213267Z         },
2026-06-15T08:25:24.6213521Z         "int": {
2026-06-15T08:25:24.6213812Z           "complete": false,
2026-06-15T08:25:24.6214086Z           "evidence": []
2026-06-15T08:25:24.6214346Z         },
2026-06-15T08:25:24.6214604Z         "unit": {
2026-06-15T08:25:24.6214881Z           "complete": true,
2026-06-15T08:25:24.6215162Z           "evidence": [
2026-06-15T08:25:24.6215420Z             {
2026-06-15T08:25:24.6215801Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6216078Z               "line": 248
2026-06-15T08:25:24.6216345Z             },
2026-06-15T08:25:24.6216592Z             {
2026-06-15T08:25:24.6216972Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-15T08:25:24.6217249Z               "line": 266
2026-06-15T08:25:24.6217507Z             }
2026-06-15T08:25:24.6217769Z           ]
2026-06-15T08:25:24.6218027Z         }
2026-06-15T08:25:24.6218280Z       }
2026-06-15T08:25:24.6218531Z     },
2026-06-15T08:25:24.6218789Z     {
2026-06-15T08:25:24.6219146Z       "id": "REQ-INST-14",
2026-06-15T08:25:24.6220312Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-15T08:25:24.6220603Z       "requiredStages": [
2026-06-15T08:25:24.6220856Z         "doc",
2026-06-15T08:25:24.6221113Z         "impl",
2026-06-15T08:25:24.6221375Z         "unit"
2026-06-15T08:25:24.6221637Z       ],
2026-06-15T08:25:24.6221914Z       "stages": {
2026-06-15T08:25:24.6222175Z         "doc": {
2026-06-15T08:25:24.6222459Z           "complete": true,
2026-06-15T08:25:24.6222730Z           "evidence": [
2026-06-15T08:25:24.6222997Z             {
2026-06-15T08:25:24.6223293Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6223570Z               "line": 530
2026-06-15T08:25:24.6223841Z             },
2026-06-15T08:25:24.6224100Z             {
2026-06-15T08:25:24.6224406Z               "path": "docs/STORAGE.md",
2026-06-15T08:25:24.6224675Z               "line": 49
2026-06-15T08:25:24.6224929Z             }
2026-06-15T08:25:24.6225183Z           ]
2026-06-15T08:25:24.6225441Z         },
2026-06-15T08:25:24.6225712Z         "impl": {
2026-06-15T08:25:24.6225999Z           "complete": true,
2026-06-15T08:25:24.6226270Z           "evidence": [
2026-06-15T08:25:24.6226527Z             {
2026-06-15T08:25:24.6226939Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6227210Z               "line": 404
2026-06-15T08:25:24.6227475Z             },
2026-06-15T08:25:24.6227733Z             {
2026-06-15T08:25:24.6228104Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6228382Z               "line": 346
2026-06-15T08:25:24.6228639Z             },
2026-06-15T08:25:24.6228893Z             {
2026-06-15T08:25:24.6229316Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.6229597Z               "line": 221
2026-06-15T08:25:24.6229863Z             },
2026-06-15T08:25:24.6230114Z             {
2026-06-15T08:25:24.6230433Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6230700Z               "line": 1372
2026-06-15T08:25:24.6230953Z             }
2026-06-15T08:25:24.6231220Z           ]
2026-06-15T08:25:24.6231478Z         },
2026-06-15T08:25:24.6231736Z         "int": {
2026-06-15T08:25:24.6232017Z           "complete": false,
2026-06-15T08:25:24.6232298Z           "evidence": []
2026-06-15T08:25:24.6232559Z         },
2026-06-15T08:25:24.6232923Z         "unit": {
2026-06-15T08:25:24.6233204Z           "complete": true,
2026-06-15T08:25:24.6233473Z           "evidence": [
2026-06-15T08:25:24.6233720Z             {
2026-06-15T08:25:24.6234116Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6234397Z               "line": 1111
2026-06-15T08:25:24.6234749Z             },
2026-06-15T08:25:24.6235008Z             {
2026-06-15T08:25:24.6235390Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6235668Z               "line": 912
2026-06-15T08:25:24.6235934Z             },
2026-06-15T08:25:24.6236187Z             {
2026-06-15T08:25:24.6236550Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6236826Z               "line": 1173
2026-06-15T08:25:24.6237083Z             },
2026-06-15T08:25:24.6237340Z             {
2026-06-15T08:25:24.6237674Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.6237950Z               "line": 490
2026-06-15T08:25:24.6238218Z             },
2026-06-15T08:25:24.6238470Z             {
2026-06-15T08:25:24.6238795Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6239152Z               "line": 6512
2026-06-15T08:25:24.6239415Z             }
2026-06-15T08:25:24.6239666Z           ]
2026-06-15T08:25:24.6239924Z         }
2026-06-15T08:25:24.6240181Z       }
2026-06-15T08:25:24.6240438Z     },
2026-06-15T08:25:24.6240693Z     {
2026-06-15T08:25:24.6240979Z       "id": "REQ-INST-15",
2026-06-15T08:25:24.6243233Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-15T08:25:24.6243521Z       "requiredStages": [
2026-06-15T08:25:24.6243788Z         "doc",
2026-06-15T08:25:24.6244042Z         "impl",
2026-06-15T08:25:24.6244299Z         "unit"
2026-06-15T08:25:24.6244562Z       ],
2026-06-15T08:25:24.6244829Z       "stages": {
2026-06-15T08:25:24.6245096Z         "doc": {
2026-06-15T08:25:24.6245377Z           "complete": true,
2026-06-15T08:25:24.6245648Z           "evidence": [
2026-06-15T08:25:24.6245904Z             {
2026-06-15T08:25:24.6246446Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-15T08:25:24.6246717Z               "line": 3
2026-06-15T08:25:24.6246970Z             }
2026-06-15T08:25:24.6247238Z           ]
2026-06-15T08:25:24.6247491Z         },
2026-06-15T08:25:24.6247759Z         "impl": {
2026-06-15T08:25:24.6248035Z           "complete": true,
2026-06-15T08:25:24.6248316Z           "evidence": [
2026-06-15T08:25:24.6248581Z             {
2026-06-15T08:25:24.6249025Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6249306Z               "line": 353
2026-06-15T08:25:24.6249554Z             },
2026-06-15T08:25:24.6249812Z             {
2026-06-15T08:25:24.6250146Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.6250422Z               "line": 60
2026-06-15T08:25:24.6250685Z             },
2026-06-15T08:25:24.6250941Z             {
2026-06-15T08:25:24.6251335Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6251601Z               "line": 368
2026-06-15T08:25:24.6251873Z             },
2026-06-15T08:25:24.6252130Z             {
2026-06-15T08:25:24.6252517Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6252793Z               "line": 417
2026-06-15T08:25:24.6253046Z             },
2026-06-15T08:25:24.6253303Z             {
2026-06-15T08:25:24.6253637Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6253916Z               "line": 19
2026-06-15T08:25:24.6254173Z             },
2026-06-15T08:25:24.6254435Z             {
2026-06-15T08:25:24.6254788Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6255050Z               "line": 70
2026-06-15T08:25:24.6255423Z             },
2026-06-15T08:25:24.6255675Z             {
2026-06-15T08:25:24.6256014Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6256275Z               "line": 96
2026-06-15T08:25:24.6256534Z             },
2026-06-15T08:25:24.6256788Z             {
2026-06-15T08:25:24.6257126Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6257516Z               "line": 121
2026-06-15T08:25:24.6257769Z             },
2026-06-15T08:25:24.6258028Z             {
2026-06-15T08:25:24.6258361Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6258619Z               "line": 172
2026-06-15T08:25:24.6258876Z             },
2026-06-15T08:25:24.6259208Z             {
2026-06-15T08:25:24.6259556Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.6259832Z               "line": 146
2026-06-15T08:25:24.6260104Z             },
2026-06-15T08:25:24.6260353Z             {
2026-06-15T08:25:24.6260667Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6260949Z               "line": 1264
2026-06-15T08:25:24.6261208Z             }
2026-06-15T08:25:24.6261472Z           ]
2026-06-15T08:25:24.6261731Z         },
2026-06-15T08:25:24.6261995Z         "int": {
2026-06-15T08:25:24.6262271Z           "complete": false,
2026-06-15T08:25:24.6262548Z           "evidence": []
2026-06-15T08:25:24.6262806Z         },
2026-06-15T08:25:24.6263067Z         "unit": {
2026-06-15T08:25:24.6263358Z           "complete": true,
2026-06-15T08:25:24.6263635Z           "evidence": [
2026-06-15T08:25:24.6263887Z             {
2026-06-15T08:25:24.6264268Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6264542Z               "line": 577
2026-06-15T08:25:24.6264805Z             },
2026-06-15T08:25:24.6265063Z             {
2026-06-15T08:25:24.6265453Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.6265725Z               "line": 638
2026-06-15T08:25:24.6265988Z             },
2026-06-15T08:25:24.6266249Z             {
2026-06-15T08:25:24.6266603Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6266882Z               "line": 213
2026-06-15T08:25:24.6267137Z             },
2026-06-15T08:25:24.6267410Z             {
2026-06-15T08:25:24.6267757Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6268049Z               "line": 249
2026-06-15T08:25:24.6268311Z             },
2026-06-15T08:25:24.6268569Z             {
2026-06-15T08:25:24.6268908Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6269260Z               "line": 262
2026-06-15T08:25:24.6269523Z             },
2026-06-15T08:25:24.6269778Z             {
2026-06-15T08:25:24.6270131Z               "path": "crates/spt-store/src/home.rs",
2026-06-15T08:25:24.6270412Z               "line": 338
2026-06-15T08:25:24.6270664Z             },
2026-06-15T08:25:24.6270927Z             {
2026-06-15T08:25:24.6271280Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.6271590Z               "line": 538
2026-06-15T08:25:24.6271866Z             },
2026-06-15T08:25:24.6272109Z             {
2026-06-15T08:25:24.6272436Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6272712Z               "line": 6449
2026-06-15T08:25:24.6272969Z             },
2026-06-15T08:25:24.6273222Z             {
2026-06-15T08:25:24.6273556Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6273827Z               "line": 8093
2026-06-15T08:25:24.6274085Z             }
2026-06-15T08:25:24.6274343Z           ]
2026-06-15T08:25:24.6274591Z         }
2026-06-15T08:25:24.6274851Z       }
2026-06-15T08:25:24.6275107Z     },
2026-06-15T08:25:24.6275365Z     {
2026-06-15T08:25:24.6275647Z       "id": "REQ-INST-2",
2026-06-15T08:25:24.6276013Z       "title": "Per-node files, synced Psyche mind",
2026-06-15T08:25:24.6276304Z       "requiredStages": [
2026-06-15T08:25:24.6276567Z         "impl",
2026-06-15T08:25:24.6276824Z         "unit"
2026-06-15T08:25:24.6277178Z       ],
2026-06-15T08:25:24.6277447Z       "stages": {
2026-06-15T08:25:24.6277706Z         "doc": {
2026-06-15T08:25:24.6277989Z           "complete": false,
2026-06-15T08:25:24.6278275Z           "evidence": []
2026-06-15T08:25:24.6278528Z         },
2026-06-15T08:25:24.6278795Z         "impl": {
2026-06-15T08:25:24.6279143Z           "complete": true,
2026-06-15T08:25:24.6279524Z           "evidence": [
2026-06-15T08:25:24.6279792Z             {
2026-06-15T08:25:24.6280177Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6280453Z               "line": 88
2026-06-15T08:25:24.6280777Z             },
2026-06-15T08:25:24.6281073Z             {
2026-06-15T08:25:24.6281430Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.6281812Z               "line": 28
2026-06-15T08:25:24.6282160Z             },
2026-06-15T08:25:24.6282488Z             {
2026-06-15T08:25:24.6282861Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.6283143Z               "line": 74
2026-06-15T08:25:24.6283406Z             },
2026-06-15T08:25:24.6283663Z             {
2026-06-15T08:25:24.6284021Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.6284297Z               "line": 96
2026-06-15T08:25:24.6284551Z             },
2026-06-15T08:25:24.6284823Z             {
2026-06-15T08:25:24.6285176Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.6285455Z               "line": 86
2026-06-15T08:25:24.6285710Z             },
2026-06-15T08:25:24.6285967Z             {
2026-06-15T08:25:24.6286315Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-15T08:25:24.6286593Z               "line": 118
2026-06-15T08:25:24.6286850Z             }
2026-06-15T08:25:24.6287113Z           ]
2026-06-15T08:25:24.6287370Z         },
2026-06-15T08:25:24.6287627Z         "int": {
2026-06-15T08:25:24.6287922Z           "complete": false,
2026-06-15T08:25:24.6288196Z           "evidence": []
2026-06-15T08:25:24.6288449Z         },
2026-06-15T08:25:24.6288711Z         "unit": {
2026-06-15T08:25:24.6289040Z           "complete": true,
2026-06-15T08:25:24.6289327Z           "evidence": [
2026-06-15T08:25:24.6289588Z             {
2026-06-15T08:25:24.6289941Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-15T08:25:24.6290208Z               "line": 250
2026-06-15T08:25:24.6290480Z             },
2026-06-15T08:25:24.6290742Z             {
2026-06-15T08:25:24.6291094Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.6291371Z               "line": 280
2026-06-15T08:25:24.6291619Z             }
2026-06-15T08:25:24.6291871Z           ]
2026-06-15T08:25:24.6292133Z         }
2026-06-15T08:25:24.6292424Z       }
2026-06-15T08:25:24.6292700Z     },
2026-06-15T08:25:24.6292954Z     {
2026-06-15T08:25:24.6293224Z       "id": "REQ-INST-3",
2026-06-15T08:25:24.6293675Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-15T08:25:24.6293975Z       "requiredStages": [
2026-06-15T08:25:24.6294238Z         "doc",
2026-06-15T08:25:24.6294510Z         "impl",
2026-06-15T08:25:24.6294767Z         "unit"
2026-06-15T08:25:24.6295029Z       ],
2026-06-15T08:25:24.6295300Z       "stages": {
2026-06-15T08:25:24.6295562Z         "doc": {
2026-06-15T08:25:24.6295840Z           "complete": true,
2026-06-15T08:25:24.6296115Z           "evidence": [
2026-06-15T08:25:24.6296385Z             {
2026-06-15T08:25:24.6296729Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-15T08:25:24.6297000Z               "line": 3
2026-06-15T08:25:24.6297261Z             }
2026-06-15T08:25:24.6297529Z           ]
2026-06-15T08:25:24.6297782Z         },
2026-06-15T08:25:24.6298049Z         "impl": {
2026-06-15T08:25:24.6298336Z           "complete": true,
2026-06-15T08:25:24.6298615Z           "evidence": [
2026-06-15T08:25:24.6298874Z             {
2026-06-15T08:25:24.6299300Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.6299562Z               "line": 59
2026-06-15T08:25:24.6299934Z             },
2026-06-15T08:25:24.6300191Z             {
2026-06-15T08:25:24.6300564Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.6300846Z               "line": 480
2026-06-15T08:25:24.6301102Z             },
2026-06-15T08:25:24.6301372Z             {
2026-06-15T08:25:24.6301744Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6302122Z               "line": 204
2026-06-15T08:25:24.6302388Z             },
2026-06-15T08:25:24.6302650Z             {
2026-06-15T08:25:24.6303032Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6303299Z               "line": 334
2026-06-15T08:25:24.6303561Z             },
2026-06-15T08:25:24.6303822Z             {
2026-06-15T08:25:24.6304197Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6304473Z               "line": 368
2026-06-15T08:25:24.6304737Z             },
2026-06-15T08:25:24.6305004Z             {
2026-06-15T08:25:24.6305390Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-15T08:25:24.6305666Z               "line": 74
2026-06-15T08:25:24.6305933Z             },
2026-06-15T08:25:24.6306185Z             {
2026-06-15T08:25:24.6306580Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6306854Z               "line": 234
2026-06-15T08:25:24.6307130Z             },
2026-06-15T08:25:24.6307389Z             {
2026-06-15T08:25:24.6307783Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6308056Z               "line": 390
2026-06-15T08:25:24.6308327Z             },
2026-06-15T08:25:24.6308595Z             {
2026-06-15T08:25:24.6309028Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6309293Z               "line": 45
2026-06-15T08:25:24.6309555Z             },
2026-06-15T08:25:24.6309817Z             {
2026-06-15T08:25:24.6310175Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6310461Z               "line": 114
2026-06-15T08:25:24.6310732Z             },
2026-06-15T08:25:24.6310994Z             {
2026-06-15T08:25:24.6311367Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6311643Z               "line": 152
2026-06-15T08:25:24.6311909Z             },
2026-06-15T08:25:24.6312167Z             {
2026-06-15T08:25:24.6312538Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6312825Z               "line": 168
2026-06-15T08:25:24.6313077Z             },
2026-06-15T08:25:24.6313345Z             {
2026-06-15T08:25:24.6313712Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6313989Z               "line": 178
2026-06-15T08:25:24.6314249Z             },
2026-06-15T08:25:24.6314504Z             {
2026-06-15T08:25:24.6314871Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6315142Z               "line": 210
2026-06-15T08:25:24.6315406Z             },
2026-06-15T08:25:24.6315659Z             {
2026-06-15T08:25:24.6316040Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6316321Z               "line": 287
2026-06-15T08:25:24.6316584Z             },
2026-06-15T08:25:24.6316842Z             {
2026-06-15T08:25:24.6317197Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6317477Z               "line": 311
2026-06-15T08:25:24.6317752Z             },
2026-06-15T08:25:24.6318010Z             {
2026-06-15T08:25:24.6318377Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6318654Z               "line": 389
2026-06-15T08:25:24.6318916Z             },
2026-06-15T08:25:24.6319254Z             {
2026-06-15T08:25:24.6319616Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6319895Z               "line": 438
2026-06-15T08:25:24.6320159Z             },
2026-06-15T08:25:24.6320411Z             {
2026-06-15T08:25:24.6320782Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-15T08:25:24.6321168Z               "line": 37
2026-06-15T08:25:24.6321431Z             },
2026-06-15T08:25:24.6321694Z             {
2026-06-15T08:25:24.6322069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6322347Z               "line": 62
2026-06-15T08:25:24.6322612Z             },
2026-06-15T08:25:24.6322874Z             {
2026-06-15T08:25:24.6323328Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.6323609Z               "line": 200
2026-06-15T08:25:24.6323871Z             },
2026-06-15T08:25:24.6324128Z             {
2026-06-15T08:25:24.6324452Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6324728Z               "line": 1597
2026-06-15T08:25:24.6324989Z             }
2026-06-15T08:25:24.6325242Z           ]
2026-06-15T08:25:24.6325499Z         },
2026-06-15T08:25:24.6325755Z         "int": {
2026-06-15T08:25:24.6326051Z           "complete": false,
2026-06-15T08:25:24.6326337Z           "evidence": []
2026-06-15T08:25:24.6326600Z         },
2026-06-15T08:25:24.6326872Z         "unit": {
2026-06-15T08:25:24.6327159Z           "complete": true,
2026-06-15T08:25:24.6327431Z           "evidence": [
2026-06-15T08:25:24.6327690Z             {
2026-06-15T08:25:24.6328051Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.6328331Z               "line": 360
2026-06-15T08:25:24.6328603Z             },
2026-06-15T08:25:24.6328857Z             {
2026-06-15T08:25:24.6329286Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6329557Z               "line": 787
2026-06-15T08:25:24.6329824Z             },
2026-06-15T08:25:24.6330078Z             {
2026-06-15T08:25:24.6330455Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6330733Z               "line": 844
2026-06-15T08:25:24.6330995Z             },
2026-06-15T08:25:24.6331257Z             {
2026-06-15T08:25:24.6331620Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.6331901Z               "line": 889
2026-06-15T08:25:24.6332167Z             },
2026-06-15T08:25:24.6332424Z             {
2026-06-15T08:25:24.6332797Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.6333077Z               "line": 1014
2026-06-15T08:25:24.6333334Z             },
2026-06-15T08:25:24.6333592Z             {
2026-06-15T08:25:24.6333997Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6334269Z               "line": 1212
2026-06-15T08:25:24.6334541Z             },
2026-06-15T08:25:24.6334800Z             {
2026-06-15T08:25:24.6335185Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6335455Z               "line": 1353
2026-06-15T08:25:24.6335715Z             },
2026-06-15T08:25:24.6335981Z             {
2026-06-15T08:25:24.6336340Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6336611Z               "line": 449
2026-06-15T08:25:24.6336883Z             },
2026-06-15T08:25:24.6337131Z             {
2026-06-15T08:25:24.6337498Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6337775Z               "line": 485
2026-06-15T08:25:24.6338034Z             },
2026-06-15T08:25:24.6338289Z             {
2026-06-15T08:25:24.6338659Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6339022Z               "line": 540
2026-06-15T08:25:24.6339279Z             },
2026-06-15T08:25:24.6339536Z             {
2026-06-15T08:25:24.6339899Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6340180Z               "line": 697
2026-06-15T08:25:24.6340442Z             },
2026-06-15T08:25:24.6340694Z             {
2026-06-15T08:25:24.6341058Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6341335Z               "line": 931
2026-06-15T08:25:24.6341597Z             },
2026-06-15T08:25:24.6341851Z             {
2026-06-15T08:25:24.6342227Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6342627Z               "line": 945
2026-06-15T08:25:24.6342889Z             },
2026-06-15T08:25:24.6343167Z             {
2026-06-15T08:25:24.6343528Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6343814Z               "line": 1214
2026-06-15T08:25:24.6344076Z             },
2026-06-15T08:25:24.6344343Z             {
2026-06-15T08:25:24.6344786Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.6345064Z               "line": 440
2026-06-15T08:25:24.6345336Z             },
2026-06-15T08:25:24.6345583Z             {
2026-06-15T08:25:24.6345910Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6346185Z               "line": 6473
2026-06-15T08:25:24.6346452Z             }
2026-06-15T08:25:24.6346719Z           ]
2026-06-15T08:25:24.6346972Z         }
2026-06-15T08:25:24.6347234Z       }
2026-06-15T08:25:24.6347486Z     },
2026-06-15T08:25:24.6347744Z     {
2026-06-15T08:25:24.6348025Z       "id": "REQ-INST-4",
2026-06-15T08:25:24.6348575Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-15T08:25:24.6348864Z       "requiredStages": [
2026-06-15T08:25:24.6349181Z         "impl",
2026-06-15T08:25:24.6349447Z         "unit"
2026-06-15T08:25:24.6349705Z       ],
2026-06-15T08:25:24.6349982Z       "stages": {
2026-06-15T08:25:24.6350234Z         "doc": {
2026-06-15T08:25:24.6350521Z           "complete": false,
2026-06-15T08:25:24.6350798Z           "evidence": []
2026-06-15T08:25:24.6351050Z         },
2026-06-15T08:25:24.6351320Z         "impl": {
2026-06-15T08:25:24.6351604Z           "complete": true,
2026-06-15T08:25:24.6351877Z           "evidence": [
2026-06-15T08:25:24.6352130Z             {
2026-06-15T08:25:24.6352520Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6352801Z               "line": 335
2026-06-15T08:25:24.6353055Z             },
2026-06-15T08:25:24.6353312Z             {
2026-06-15T08:25:24.6353684Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6353966Z               "line": 202
2026-06-15T08:25:24.6354221Z             },
2026-06-15T08:25:24.6354473Z             {
2026-06-15T08:25:24.6354836Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6355108Z               "line": 234
2026-06-15T08:25:24.6355365Z             },
2026-06-15T08:25:24.6355633Z             {
2026-06-15T08:25:24.6356013Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6356291Z               "line": 274
2026-06-15T08:25:24.6356556Z             }
2026-06-15T08:25:24.6356816Z           ]
2026-06-15T08:25:24.6357078Z         },
2026-06-15T08:25:24.6357350Z         "int": {
2026-06-15T08:25:24.6357637Z           "complete": false,
2026-06-15T08:25:24.6357913Z           "evidence": []
2026-06-15T08:25:24.6358172Z         },
2026-06-15T08:25:24.6358443Z         "unit": {
2026-06-15T08:25:24.6358724Z           "complete": true,
2026-06-15T08:25:24.6359054Z           "evidence": [
2026-06-15T08:25:24.6359318Z             {
2026-06-15T08:25:24.6359693Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.6359974Z               "line": 839
2026-06-15T08:25:24.6360222Z             },
2026-06-15T08:25:24.6360480Z             {
2026-06-15T08:25:24.6360847Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6361123Z               "line": 561
2026-06-15T08:25:24.6361396Z             },
2026-06-15T08:25:24.6361649Z             {
2026-06-15T08:25:24.6362018Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6362293Z               "line": 668
2026-06-15T08:25:24.6362555Z             },
2026-06-15T08:25:24.6362827Z             {
2026-06-15T08:25:24.6363179Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6363452Z               "line": 750
2026-06-15T08:25:24.6363704Z             }
2026-06-15T08:25:24.6363967Z           ]
2026-06-15T08:25:24.6364225Z         }
2026-06-15T08:25:24.6364483Z       }
2026-06-15T08:25:24.6364848Z     },
2026-06-15T08:25:24.6365100Z     {
2026-06-15T08:25:24.6365391Z       "id": "REQ-INST-5",
2026-06-15T08:25:24.6365935Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-15T08:25:24.6366231Z       "requiredStages": [
2026-06-15T08:25:24.6366494Z         "impl",
2026-06-15T08:25:24.6366780Z         "unit",
2026-06-15T08:25:24.6367140Z         "int"
2026-06-15T08:25:24.6367391Z       ],
2026-06-15T08:25:24.6367662Z       "stages": {
2026-06-15T08:25:24.6367919Z         "doc": {
2026-06-15T08:25:24.6368211Z           "complete": false,
2026-06-15T08:25:24.6368483Z           "evidence": []
2026-06-15T08:25:24.6368746Z         },
2026-06-15T08:25:24.6369080Z         "impl": {
2026-06-15T08:25:24.6369362Z           "complete": true,
2026-06-15T08:25:24.6369647Z           "evidence": [
2026-06-15T08:25:24.6369902Z             {
2026-06-15T08:25:24.6370291Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-15T08:25:24.6370567Z               "line": 85
2026-06-15T08:25:24.6370839Z             },
2026-06-15T08:25:24.6371102Z             {
2026-06-15T08:25:24.6371455Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6371736Z               "line": 68
2026-06-15T08:25:24.6371998Z             },
2026-06-15T08:25:24.6372252Z             {
2026-06-15T08:25:24.6372602Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6372887Z               "line": 99
2026-06-15T08:25:24.6373149Z             },
2026-06-15T08:25:24.6373401Z             {
2026-06-15T08:25:24.6373749Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6374031Z               "line": 183
2026-06-15T08:25:24.6374289Z             },
2026-06-15T08:25:24.6377619Z             {
2026-06-15T08:25:24.6378023Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6378299Z               "line": 314
2026-06-15T08:25:24.6378556Z             }
2026-06-15T08:25:24.6378818Z           ]
2026-06-15T08:25:24.6379152Z         },
2026-06-15T08:25:24.6379425Z         "int": {
2026-06-15T08:25:24.6379696Z           "complete": true,
2026-06-15T08:25:24.6379955Z           "evidence": [
2026-06-15T08:25:24.6380207Z             {
2026-06-15T08:25:24.6380606Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.6380890Z               "line": 156
2026-06-15T08:25:24.6381147Z             },
2026-06-15T08:25:24.6381409Z             {
2026-06-15T08:25:24.6381777Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-15T08:25:24.6382043Z               "line": 102
2026-06-15T08:25:24.6382306Z             },
2026-06-15T08:25:24.6382563Z             {
2026-06-15T08:25:24.6382949Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6383223Z               "line": 638
2026-06-15T08:25:24.6383476Z             },
2026-06-15T08:25:24.6383738Z             {
2026-06-15T08:25:24.6384114Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6384392Z               "line": 975
2026-06-15T08:25:24.6384653Z             }
2026-06-15T08:25:24.6384911Z           ]
2026-06-15T08:25:24.6385168Z         },
2026-06-15T08:25:24.6385430Z         "unit": {
2026-06-15T08:25:24.6385713Z           "complete": true,
2026-06-15T08:25:24.6385983Z           "evidence": [
2026-06-15T08:25:24.6386245Z             {
2026-06-15T08:25:24.6386603Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6386884Z               "line": 552
2026-06-15T08:25:24.6387136Z             },
2026-06-15T08:25:24.6387394Z             {
2026-06-15T08:25:24.6387751Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6388023Z               "line": 595
2026-06-15T08:25:24.6388284Z             },
2026-06-15T08:25:24.6388545Z             {
2026-06-15T08:25:24.6388913Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.6389270Z               "line": 219
2026-06-15T08:25:24.6389537Z             }
2026-06-15T08:25:24.6389804Z           ]
2026-06-15T08:25:24.6390209Z         }
2026-06-15T08:25:24.6390462Z       }
2026-06-15T08:25:24.6390719Z     },
2026-06-15T08:25:24.6390980Z     {
2026-06-15T08:25:24.6391349Z       "id": "REQ-INST-6",
2026-06-15T08:25:24.6391959Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-15T08:25:24.6392250Z       "requiredStages": [
2026-06-15T08:25:24.6392628Z         "impl",
2026-06-15T08:25:24.6392889Z         "unit",
2026-06-15T08:25:24.6393151Z         "int"
2026-06-15T08:25:24.6393410Z       ],
2026-06-15T08:25:24.6393675Z       "stages": {
2026-06-15T08:25:24.6393940Z         "doc": {
2026-06-15T08:25:24.6394235Z           "complete": true,
2026-06-15T08:25:24.6394512Z           "evidence": [
2026-06-15T08:25:24.6394765Z             {
2026-06-15T08:25:24.6395075Z               "path": "docs/DEFERRED.md",
2026-06-15T08:25:24.6395342Z               "line": 13
2026-06-15T08:25:24.6395606Z             }
2026-06-15T08:25:24.6395872Z           ]
2026-06-15T08:25:24.6396134Z         },
2026-06-15T08:25:24.6396409Z         "impl": {
2026-06-15T08:25:24.6396690Z           "complete": true,
2026-06-15T08:25:24.6396963Z           "evidence": [
2026-06-15T08:25:24.6397215Z             {
2026-06-15T08:25:24.6397592Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.6397869Z               "line": 391
2026-06-15T08:25:24.6398137Z             },
2026-06-15T08:25:24.6398388Z             {
2026-06-15T08:25:24.6398763Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-15T08:25:24.6399110Z               "line": 27
2026-06-15T08:25:24.6399381Z             },
2026-06-15T08:25:24.6399638Z             {
2026-06-15T08:25:24.6400011Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-15T08:25:24.6400286Z               "line": 73
2026-06-15T08:25:24.6400540Z             },
2026-06-15T08:25:24.6400797Z             {
2026-06-15T08:25:24.6401169Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-15T08:25:24.6401441Z               "line": 182
2026-06-15T08:25:24.6401707Z             },
2026-06-15T08:25:24.6401962Z             {
2026-06-15T08:25:24.6402330Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6402607Z               "line": 426
2026-06-15T08:25:24.6402863Z             },
2026-06-15T08:25:24.6403121Z             {
2026-06-15T08:25:24.6403478Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-15T08:25:24.6403755Z               "line": 31
2026-06-15T08:25:24.6404012Z             },
2026-06-15T08:25:24.6404269Z             {
2026-06-15T08:25:24.6404625Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.6404897Z               "line": 182
2026-06-15T08:25:24.6405159Z             },
2026-06-15T08:25:24.6405411Z             {
2026-06-15T08:25:24.6405754Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.6406031Z               "line": 81
2026-06-15T08:25:24.6406298Z             },
2026-06-15T08:25:24.6406560Z             {
2026-06-15T08:25:24.6406880Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6407161Z               "line": 1598
2026-06-15T08:25:24.6407422Z             },
2026-06-15T08:25:24.6407674Z             {
2026-06-15T08:25:24.6408009Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6408285Z               "line": 179
2026-06-15T08:25:24.6408543Z             },
2026-06-15T08:25:24.6408800Z             {
2026-06-15T08:25:24.6409209Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6409488Z               "line": 215
2026-06-15T08:25:24.6409747Z             }
2026-06-15T08:25:24.6409994Z           ]
2026-06-15T08:25:24.6410256Z         },
2026-06-15T08:25:24.6410518Z         "int": {
2026-06-15T08:25:24.6410809Z           "complete": true,
2026-06-15T08:25:24.6411076Z           "evidence": [
2026-06-15T08:25:24.6411334Z             {
2026-06-15T08:25:24.6411715Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6411983Z               "line": 652
2026-06-15T08:25:24.6412356Z             },
2026-06-15T08:25:24.6412609Z             {
2026-06-15T08:25:24.6412986Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6413262Z               "line": 1020
2026-06-15T08:25:24.6413534Z             },
2026-06-15T08:25:24.6413811Z             {
2026-06-15T08:25:24.6414149Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.6414536Z               "line": 726
2026-06-15T08:25:24.6414795Z             }
2026-06-15T08:25:24.6415080Z           ]
2026-06-15T08:25:24.6415337Z         },
2026-06-15T08:25:24.6415599Z         "unit": {
2026-06-15T08:25:24.6415876Z           "complete": true,
2026-06-15T08:25:24.6416157Z           "evidence": [
2026-06-15T08:25:24.6416411Z             {
2026-06-15T08:25:24.6416787Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.6417074Z               "line": 661
2026-06-15T08:25:24.6417341Z             },
2026-06-15T08:25:24.6417605Z             {
2026-06-15T08:25:24.6417982Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.6418254Z               "line": 899
2026-06-15T08:25:24.6418526Z             },
2026-06-15T08:25:24.6418783Z             {
2026-06-15T08:25:24.6419208Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-15T08:25:24.6419513Z               "line": 66
2026-06-15T08:25:24.6419788Z             },
2026-06-15T08:25:24.6420063Z             {
2026-06-15T08:25:24.6420439Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.6420735Z               "line": 272
2026-06-15T08:25:24.6421002Z             },
2026-06-15T08:25:24.6421260Z             {
2026-06-15T08:25:24.6421612Z               "path": "crates/spt/src/api/worker.rs",
2026-06-15T08:25:24.6421894Z               "line": 201
2026-06-15T08:25:24.6422153Z             }
2026-06-15T08:25:24.6422424Z           ]
2026-06-15T08:25:24.6422684Z         }
2026-06-15T08:25:24.6422949Z       }
2026-06-15T08:25:24.6423202Z     },
2026-06-15T08:25:24.6423474Z     {
2026-06-15T08:25:24.6423760Z       "id": "REQ-INST-7",
2026-06-15T08:25:24.6424179Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-15T08:25:24.6424480Z       "requiredStages": [
2026-06-15T08:25:24.6424752Z         "impl",
2026-06-15T08:25:24.6425015Z         "unit",
2026-06-15T08:25:24.6425265Z         "int"
2026-06-15T08:25:24.6425534Z       ],
2026-06-15T08:25:24.6425807Z       "stages": {
2026-06-15T08:25:24.6426060Z         "doc": {
2026-06-15T08:25:24.6426351Z           "complete": false,
2026-06-15T08:25:24.6426627Z           "evidence": []
2026-06-15T08:25:24.6426884Z         },
2026-06-15T08:25:24.6427141Z         "impl": {
2026-06-15T08:25:24.6427423Z           "complete": true,
2026-06-15T08:25:24.6427709Z           "evidence": [
2026-06-15T08:25:24.6427963Z             {
2026-06-15T08:25:24.6428343Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.6428619Z               "line": 436
2026-06-15T08:25:24.6428882Z             },
2026-06-15T08:25:24.6429230Z             {
2026-06-15T08:25:24.6429644Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6429916Z               "line": 27
2026-06-15T08:25:24.6430170Z             },
2026-06-15T08:25:24.6430430Z             {
2026-06-15T08:25:24.6430828Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6431114Z               "line": 207
2026-06-15T08:25:24.6431371Z             },
2026-06-15T08:25:24.6431633Z             {
2026-06-15T08:25:24.6432039Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6432315Z               "line": 344
2026-06-15T08:25:24.6432578Z             },
2026-06-15T08:25:24.6432835Z             {
2026-06-15T08:25:24.6433211Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-15T08:25:24.6433480Z               "line": 59
2026-06-15T08:25:24.6433744Z             },
2026-06-15T08:25:24.6434001Z             {
2026-06-15T08:25:24.6434372Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6434787Z               "line": 41
2026-06-15T08:25:24.6435049Z             },
2026-06-15T08:25:24.6435312Z             {
2026-06-15T08:25:24.6435698Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6435982Z               "line": 27
2026-06-15T08:25:24.6436252Z             },
2026-06-15T08:25:24.6436611Z             {
2026-06-15T08:25:24.6436996Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6437273Z               "line": 119
2026-06-15T08:25:24.6437541Z             },
2026-06-15T08:25:24.6437803Z             {
2026-06-15T08:25:24.6438180Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6438452Z               "line": 134
2026-06-15T08:25:24.6438711Z             },
2026-06-15T08:25:24.6439026Z             {
2026-06-15T08:25:24.6439379Z               "path": "crates/spt-store/src/registry.rs",
2026-06-15T08:25:24.6439650Z               "line": 139
2026-06-15T08:25:24.6439918Z             }
2026-06-15T08:25:24.6440180Z           ]
2026-06-15T08:25:24.6440443Z         },
2026-06-15T08:25:24.6440701Z         "int": {
2026-06-15T08:25:24.6440985Z           "complete": true,
2026-06-15T08:25:24.6441264Z           "evidence": [
2026-06-15T08:25:24.6441531Z             {
2026-06-15T08:25:24.6441893Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-15T08:25:24.6442179Z               "line": 102
2026-06-15T08:25:24.6442433Z             },
2026-06-15T08:25:24.6442695Z             {
2026-06-15T08:25:24.6443071Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6443339Z               "line": 596
2026-06-15T08:25:24.6443602Z             },
2026-06-15T08:25:24.6443862Z             {
2026-06-15T08:25:24.6444227Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6444508Z               "line": 870
2026-06-15T08:25:24.6444770Z             }
2026-06-15T08:25:24.6445027Z           ]
2026-06-15T08:25:24.6445285Z         },
2026-06-15T08:25:24.6445562Z         "unit": {
2026-06-15T08:25:24.6445854Z           "complete": true,
2026-06-15T08:25:24.6446125Z           "evidence": [
2026-06-15T08:25:24.6446380Z             {
2026-06-15T08:25:24.6446769Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6447041Z               "line": 1082
2026-06-15T08:25:24.6447303Z             },
2026-06-15T08:25:24.6447566Z             {
2026-06-15T08:25:24.6447966Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6448238Z               "line": 1414
2026-06-15T08:25:24.6448500Z             },
2026-06-15T08:25:24.6448759Z             {
2026-06-15T08:25:24.6449224Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-15T08:25:24.6449491Z               "line": 84
2026-06-15T08:25:24.6449744Z             },
2026-06-15T08:25:24.6450002Z             {
2026-06-15T08:25:24.6450364Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6450651Z               "line": 780
2026-06-15T08:25:24.6450908Z             },
2026-06-15T08:25:24.6451169Z             {
2026-06-15T08:25:24.6451540Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6451819Z               "line": 791
2026-06-15T08:25:24.6452077Z             },
2026-06-15T08:25:24.6452330Z             {
2026-06-15T08:25:24.6452711Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6452988Z               "line": 806
2026-06-15T08:25:24.6453251Z             },
2026-06-15T08:25:24.6453508Z             {
2026-06-15T08:25:24.6453890Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6454167Z               "line": 166
2026-06-15T08:25:24.6454427Z             },
2026-06-15T08:25:24.6454691Z             {
2026-06-15T08:25:24.6455073Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6455349Z               "line": 181
2026-06-15T08:25:24.6455601Z             },
2026-06-15T08:25:24.6455969Z             {
2026-06-15T08:25:24.6456352Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.6456618Z               "line": 214
2026-06-15T08:25:24.6456884Z             }
2026-06-15T08:25:24.6457135Z           ]
2026-06-15T08:25:24.6457397Z         }
2026-06-15T08:25:24.6457654Z       }
2026-06-15T08:25:24.6457901Z     },
2026-06-15T08:25:24.6458260Z     {
2026-06-15T08:25:24.6458540Z       "id": "REQ-INST-8",
2026-06-15T08:25:24.6459074Z       "title": "Remote-control mode distinct from local operation",
2026-06-15T08:25:24.6459365Z       "requiredStages": [
2026-06-15T08:25:24.6459624Z         "impl",
2026-06-15T08:25:24.6459889Z         "unit",
2026-06-15T08:25:24.6460151Z         "int"
2026-06-15T08:25:24.6460414Z       ],
2026-06-15T08:25:24.6460672Z       "stages": {
2026-06-15T08:25:24.6460934Z         "doc": {
2026-06-15T08:25:24.6461220Z           "complete": false,
2026-06-15T08:25:24.6461502Z           "evidence": []
2026-06-15T08:25:24.6461749Z         },
2026-06-15T08:25:24.6462019Z         "impl": {
2026-06-15T08:25:24.6462308Z           "complete": true,
2026-06-15T08:25:24.6462581Z           "evidence": [
2026-06-15T08:25:24.6462838Z             {
2026-06-15T08:25:24.6463200Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.6463482Z               "line": 104
2026-06-15T08:25:24.6463739Z             },
2026-06-15T08:25:24.6464001Z             {
2026-06-15T08:25:24.6464365Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.6464645Z               "line": 299
2026-06-15T08:25:24.6464906Z             },
2026-06-15T08:25:24.6465166Z             {
2026-06-15T08:25:24.6465537Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.6465824Z               "line": 339
2026-06-15T08:25:24.6466081Z             },
2026-06-15T08:25:24.6466349Z             {
2026-06-15T08:25:24.6466711Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.6466988Z               "line": 62
2026-06-15T08:25:24.6467255Z             }
2026-06-15T08:25:24.6467524Z           ]
2026-06-15T08:25:24.6467780Z         },
2026-06-15T08:25:24.6468042Z         "int": {
2026-06-15T08:25:24.6468329Z           "complete": true,
2026-06-15T08:25:24.6468596Z           "evidence": [
2026-06-15T08:25:24.6468854Z             {
2026-06-15T08:25:24.6469311Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.6469601Z               "line": 415
2026-06-15T08:25:24.6469860Z             },
2026-06-15T08:25:24.6470117Z             {
2026-06-15T08:25:24.6470502Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.6470779Z               "line": 934
2026-06-15T08:25:24.6471045Z             }
2026-06-15T08:25:24.6471298Z           ]
2026-06-15T08:25:24.6471551Z         },
2026-06-15T08:25:24.6471809Z         "unit": {
2026-06-15T08:25:24.6472086Z           "complete": true,
2026-06-15T08:25:24.6472357Z           "evidence": [
2026-06-15T08:25:24.6472613Z             {
2026-06-15T08:25:24.6472992Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.6473268Z               "line": 358
2026-06-15T08:25:24.6473526Z             },
2026-06-15T08:25:24.6473789Z             {
2026-06-15T08:25:24.6474151Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.6474423Z               "line": 513
2026-06-15T08:25:24.6474676Z             },
2026-06-15T08:25:24.6474948Z             {
2026-06-15T08:25:24.6475301Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.6475571Z               "line": 116
2026-06-15T08:25:24.6475835Z             },
2026-06-15T08:25:24.6476092Z             {
2026-06-15T08:25:24.6476455Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.6476722Z               "line": 160
2026-06-15T08:25:24.6476984Z             }
2026-06-15T08:25:24.6477233Z           ]
2026-06-15T08:25:24.6477491Z         }
2026-06-15T08:25:24.6477757Z       }
2026-06-15T08:25:24.6478004Z     },
2026-06-15T08:25:24.6478369Z     {
2026-06-15T08:25:24.6478654Z       "id": "REQ-INST-9",
2026-06-15T08:25:24.6479288Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-15T08:25:24.6479575Z       "requiredStages": [
2026-06-15T08:25:24.6479842Z         "impl",
2026-06-15T08:25:24.6480106Z         "unit"
2026-06-15T08:25:24.6480467Z       ],
2026-06-15T08:25:24.6480731Z       "stages": {
2026-06-15T08:25:24.6480990Z         "doc": {
2026-06-15T08:25:24.6481286Z           "complete": false,
2026-06-15T08:25:24.6481567Z           "evidence": []
2026-06-15T08:25:24.6481829Z         },
2026-06-15T08:25:24.6482087Z         "impl": {
2026-06-15T08:25:24.6482369Z           "complete": true,
2026-06-15T08:25:24.6482642Z           "evidence": [
2026-06-15T08:25:24.6482908Z             {
2026-06-15T08:25:24.6483288Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6483562Z               "line": 417
2026-06-15T08:25:24.6483819Z             }
2026-06-15T08:25:24.6484086Z           ]
2026-06-15T08:25:24.6484344Z         },
2026-06-15T08:25:24.6484606Z         "int": {
2026-06-15T08:25:24.6484888Z           "complete": false,
2026-06-15T08:25:24.6485175Z           "evidence": []
2026-06-15T08:25:24.6485431Z         },
2026-06-15T08:25:24.6485703Z         "unit": {
2026-06-15T08:25:24.6485993Z           "complete": true,
2026-06-15T08:25:24.6486267Z           "evidence": [
2026-06-15T08:25:24.6486525Z             {
2026-06-15T08:25:24.6486892Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6487164Z               "line": 1321
2026-06-15T08:25:24.6487426Z             },
2026-06-15T08:25:24.6487683Z             {
2026-06-15T08:25:24.6488056Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6488327Z               "line": 1330
2026-06-15T08:25:24.6488588Z             },
2026-06-15T08:25:24.6488848Z             {
2026-06-15T08:25:24.6489305Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6489596Z               "line": 1346
2026-06-15T08:25:24.6489849Z             },
2026-06-15T08:25:24.6490106Z             {
2026-06-15T08:25:24.6490483Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6490764Z               "line": 1358
2026-06-15T08:25:24.6491023Z             },
2026-06-15T08:25:24.6491291Z             {
2026-06-15T08:25:24.6491661Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.6491942Z               "line": 1378
2026-06-15T08:25:24.6492209Z             }
2026-06-15T08:25:24.6492470Z           ]
2026-06-15T08:25:24.6492728Z         }
2026-06-15T08:25:24.6492986Z       }
2026-06-15T08:25:24.6493244Z     },
2026-06-15T08:25:24.6493497Z     {
2026-06-15T08:25:24.6493790Z       "id": "REQ-INSTALL-1",
2026-06-15T08:25:24.6494388Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-15T08:25:24.6494670Z       "requiredStages": [
2026-06-15T08:25:24.6494923Z         "doc",
2026-06-15T08:25:24.6495181Z         "impl",
2026-06-15T08:25:24.6495449Z         "int"
2026-06-15T08:25:24.6495696Z       ],
2026-06-15T08:25:24.6495972Z       "stages": {
2026-06-15T08:25:24.6496244Z         "doc": {
2026-06-15T08:25:24.6496530Z           "complete": true,
2026-06-15T08:25:24.6496804Z           "evidence": [
2026-06-15T08:25:24.6497056Z             {
2026-06-15T08:25:24.6497362Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6497638Z               "line": 689
2026-06-15T08:25:24.6497904Z             }
2026-06-15T08:25:24.6498162Z           ]
2026-06-15T08:25:24.6498420Z         },
2026-06-15T08:25:24.6498683Z         "impl": {
2026-06-15T08:25:24.6499040Z           "complete": true,
2026-06-15T08:25:24.6499320Z           "evidence": [
2026-06-15T08:25:24.6499580Z             {
2026-06-15T08:25:24.6499904Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6500185Z               "line": 57
2026-06-15T08:25:24.6500442Z             },
2026-06-15T08:25:24.6500710Z             {
2026-06-15T08:25:24.6501144Z               "path": "installer/install.sh",
2026-06-15T08:25:24.6501415Z               "line": 52
2026-06-15T08:25:24.6501668Z             }
2026-06-15T08:25:24.6501935Z           ]
2026-06-15T08:25:24.6502192Z         },
2026-06-15T08:25:24.6502445Z         "int": {
2026-06-15T08:25:24.6502725Z           "complete": true,
2026-06-15T08:25:24.6503098Z           "evidence": [
2026-06-15T08:25:24.6503360Z             {
2026-06-15T08:25:24.6503733Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-15T08:25:24.6504003Z               "line": 21
2026-06-15T08:25:24.6504270Z             }
2026-06-15T08:25:24.6504529Z           ]
2026-06-15T08:25:24.6504788Z         },
2026-06-15T08:25:24.6505040Z         "unit": {
2026-06-15T08:25:24.6505331Z           "complete": false,
2026-06-15T08:25:24.6505607Z           "evidence": []
2026-06-15T08:25:24.6505859Z         }
2026-06-15T08:25:24.6506113Z       }
2026-06-15T08:25:24.6506370Z     },
2026-06-15T08:25:24.6506624Z     {
2026-06-15T08:25:24.6506914Z       "id": "REQ-INSTALL-2",
2026-06-15T08:25:24.6507331Z       "title": "Marketplace-repackaging-friendly install",
2026-06-15T08:25:24.6507621Z       "requiredStages": [
2026-06-15T08:25:24.6507878Z         "doc"
2026-06-15T08:25:24.6508126Z       ],
2026-06-15T08:25:24.6508393Z       "stages": {
2026-06-15T08:25:24.6508665Z         "doc": {
2026-06-15T08:25:24.6509037Z           "complete": true,
2026-06-15T08:25:24.6509299Z           "evidence": [
2026-06-15T08:25:24.6509557Z             {
2026-06-15T08:25:24.6509851Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6510126Z               "line": 690
2026-06-15T08:25:24.6510382Z             }
2026-06-15T08:25:24.6510640Z           ]
2026-06-15T08:25:24.6510898Z         },
2026-06-15T08:25:24.6511165Z         "impl": {
2026-06-15T08:25:24.6511447Z           "complete": false,
2026-06-15T08:25:24.6511724Z           "evidence": []
2026-06-15T08:25:24.6511980Z         },
2026-06-15T08:25:24.6512238Z         "int": {
2026-06-15T08:25:24.6512523Z           "complete": false,
2026-06-15T08:25:24.6512791Z           "evidence": []
2026-06-15T08:25:24.6513048Z         },
2026-06-15T08:25:24.6513305Z         "unit": {
2026-06-15T08:25:24.6513596Z           "complete": false,
2026-06-15T08:25:24.6513876Z           "evidence": []
2026-06-15T08:25:24.6514140Z         }
2026-06-15T08:25:24.6514406Z       }
2026-06-15T08:25:24.6514661Z     },
2026-06-15T08:25:24.6514921Z     {
2026-06-15T08:25:24.6515203Z       "id": "REQ-INSTALL-3",
2026-06-15T08:25:24.6515638Z       "title": "Idempotent + interactive-optional first run",
2026-06-15T08:25:24.6515925Z       "requiredStages": [
2026-06-15T08:25:24.6516182Z         "impl",
2026-06-15T08:25:24.6516434Z         "int"
2026-06-15T08:25:24.6516692Z       ],
2026-06-15T08:25:24.6516968Z       "stages": {
2026-06-15T08:25:24.6517232Z         "doc": {
2026-06-15T08:25:24.6517518Z           "complete": false,
2026-06-15T08:25:24.6517801Z           "evidence": []
2026-06-15T08:25:24.6518056Z         },
2026-06-15T08:25:24.6518333Z         "impl": {
2026-06-15T08:25:24.6518610Z           "complete": true,
2026-06-15T08:25:24.6518887Z           "evidence": [
2026-06-15T08:25:24.6519216Z             {
2026-06-15T08:25:24.6519559Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6519836Z               "line": 100
2026-06-15T08:25:24.6520099Z             },
2026-06-15T08:25:24.6520363Z             {
2026-06-15T08:25:24.6520686Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6520962Z               "line": 111
2026-06-15T08:25:24.6521220Z             },
2026-06-15T08:25:24.6521482Z             {
2026-06-15T08:25:24.6521816Z               "path": "installer/install.sh",
2026-06-15T08:25:24.6522074Z               "line": 79
2026-06-15T08:25:24.6522336Z             }
2026-06-15T08:25:24.6522589Z           ]
2026-06-15T08:25:24.6522850Z         },
2026-06-15T08:25:24.6523112Z         "int": {
2026-06-15T08:25:24.6523398Z           "complete": true,
2026-06-15T08:25:24.6523679Z           "evidence": [
2026-06-15T08:25:24.6524047Z             {
2026-06-15T08:25:24.6524413Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-15T08:25:24.6524685Z               "line": 167
2026-06-15T08:25:24.6524953Z             }
2026-06-15T08:25:24.6525206Z           ]
2026-06-15T08:25:24.6525471Z         },
2026-06-15T08:25:24.6525870Z         "unit": {
2026-06-15T08:25:24.6526170Z           "complete": false,
2026-06-15T08:25:24.6526442Z           "evidence": []
2026-06-15T08:25:24.6526689Z         }
2026-06-15T08:25:24.6526947Z       }
2026-06-15T08:25:24.6527204Z     },
2026-06-15T08:25:24.6527453Z     {
2026-06-15T08:25:24.6527730Z       "id": "REQ-INSTALL-4",
2026-06-15T08:25:24.6529771Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-15T08:25:24.6530071Z       "requiredStages": [
2026-06-15T08:25:24.6530335Z         "impl",
2026-06-15T08:25:24.6530606Z         "unit"
2026-06-15T08:25:24.6530856Z       ],
2026-06-15T08:25:24.6531117Z       "stages": {
2026-06-15T08:25:24.6531385Z         "doc": {
2026-06-15T08:25:24.6531666Z           "complete": false,
2026-06-15T08:25:24.6531942Z           "evidence": []
2026-06-15T08:25:24.6532200Z         },
2026-06-15T08:25:24.6532466Z         "impl": {
2026-06-15T08:25:24.6532738Z           "complete": true,
2026-06-15T08:25:24.6533010Z           "evidence": [
2026-06-15T08:25:24.6533272Z             {
2026-06-15T08:25:24.6533682Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.6533963Z               "line": 154
2026-06-15T08:25:24.6534221Z             },
2026-06-15T08:25:24.6534483Z             {
2026-06-15T08:25:24.6534860Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6535127Z               "line": 29
2026-06-15T08:25:24.6535389Z             },
2026-06-15T08:25:24.6535650Z             {
2026-06-15T08:25:24.6536036Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6536310Z               "line": 275
2026-06-15T08:25:24.6536576Z             },
2026-06-15T08:25:24.6536840Z             {
2026-06-15T08:25:24.6537216Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6537502Z               "line": 339
2026-06-15T08:25:24.6537760Z             },
2026-06-15T08:25:24.6538028Z             {
2026-06-15T08:25:24.6538404Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6538686Z               "line": 369
2026-06-15T08:25:24.6539003Z             },
2026-06-15T08:25:24.6539258Z             {
2026-06-15T08:25:24.6539640Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6539903Z               "line": 401
2026-06-15T08:25:24.6540164Z             },
2026-06-15T08:25:24.6540426Z             {
2026-06-15T08:25:24.6540746Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6541032Z               "line": 4837
2026-06-15T08:25:24.6541289Z             }
2026-06-15T08:25:24.6541546Z           ]
2026-06-15T08:25:24.6541796Z         },
2026-06-15T08:25:24.6542058Z         "int": {
2026-06-15T08:25:24.6542335Z           "complete": false,
2026-06-15T08:25:24.6542621Z           "evidence": []
2026-06-15T08:25:24.6542888Z         },
2026-06-15T08:25:24.6543151Z         "unit": {
2026-06-15T08:25:24.6543428Z           "complete": true,
2026-06-15T08:25:24.6543705Z           "evidence": [
2026-06-15T08:25:24.6543966Z             {
2026-06-15T08:25:24.6544365Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.6544647Z               "line": 335
2026-06-15T08:25:24.6544914Z             },
2026-06-15T08:25:24.6545172Z             {
2026-06-15T08:25:24.6545553Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6545834Z               "line": 763
2026-06-15T08:25:24.6546106Z             },
2026-06-15T08:25:24.6546355Z             {
2026-06-15T08:25:24.6546841Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6547128Z               "line": 804
2026-06-15T08:25:24.6547390Z             },
2026-06-15T08:25:24.6547662Z             {
2026-06-15T08:25:24.6548029Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6548406Z               "line": 824
2026-06-15T08:25:24.6548658Z             },
2026-06-15T08:25:24.6548917Z             {
2026-06-15T08:25:24.6549321Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6549600Z               "line": 6793
2026-06-15T08:25:24.6549857Z             }
2026-06-15T08:25:24.6550109Z           ]
2026-06-15T08:25:24.6550371Z         }
2026-06-15T08:25:24.6550625Z       }
2026-06-15T08:25:24.6550877Z     },
2026-06-15T08:25:24.6551136Z     {
2026-06-15T08:25:24.6551421Z       "id": "REQ-INSTALL-5",
2026-06-15T08:25:24.6552947Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-15T08:25:24.6553238Z       "requiredStages": [
2026-06-15T08:25:24.6553501Z         "impl",
2026-06-15T08:25:24.6553763Z         "int"
2026-06-15T08:25:24.6554022Z       ],
2026-06-15T08:25:24.6554284Z       "stages": {
2026-06-15T08:25:24.6554550Z         "doc": {
2026-06-15T08:25:24.6554849Z           "complete": false,
2026-06-15T08:25:24.6555126Z           "evidence": []
2026-06-15T08:25:24.6555389Z         },
2026-06-15T08:25:24.6555655Z         "impl": {
2026-06-15T08:25:24.6555947Z           "complete": true,
2026-06-15T08:25:24.6556214Z           "evidence": [
2026-06-15T08:25:24.6556465Z             {
2026-06-15T08:25:24.6556804Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6557070Z               "line": 5
2026-06-15T08:25:24.6557340Z             },
2026-06-15T08:25:24.6557598Z             {
2026-06-15T08:25:24.6557922Z               "path": "installer/install.sh",
2026-06-15T08:25:24.6558189Z               "line": 6
2026-06-15T08:25:24.6558442Z             }
2026-06-15T08:25:24.6558703Z           ]
2026-06-15T08:25:24.6559008Z         },
2026-06-15T08:25:24.6559281Z         "int": {
2026-06-15T08:25:24.6559566Z           "complete": true,
2026-06-15T08:25:24.6559839Z           "evidence": [
2026-06-15T08:25:24.6560099Z             {
2026-06-15T08:25:24.6560479Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-15T08:25:24.6560751Z               "line": 22
2026-06-15T08:25:24.6561009Z             }
2026-06-15T08:25:24.6561270Z           ]
2026-06-15T08:25:24.6561528Z         },
2026-06-15T08:25:24.6561799Z         "unit": {
2026-06-15T08:25:24.6562081Z           "complete": false,
2026-06-15T08:25:24.6562358Z           "evidence": []
2026-06-15T08:25:24.6562609Z         }
2026-06-15T08:25:24.6562873Z       }
2026-06-15T08:25:24.6563121Z     },
2026-06-15T08:25:24.6563380Z     {
2026-06-15T08:25:24.6563675Z       "id": "REQ-INSTALL-6",
2026-06-15T08:25:24.6567216Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-15T08:25:24.6567526Z       "requiredStages": [
2026-06-15T08:25:24.6567797Z         "impl",
2026-06-15T08:25:24.6568062Z         "unit"
2026-06-15T08:25:24.6568309Z       ],
2026-06-15T08:25:24.6568577Z       "stages": {
2026-06-15T08:25:24.6568844Z         "doc": {
2026-06-15T08:25:24.6572876Z           "complete": false,
2026-06-15T08:25:24.6573184Z           "evidence": []
2026-06-15T08:25:24.6573448Z         },
2026-06-15T08:25:24.6573719Z         "impl": {
2026-06-15T08:25:24.6574001Z           "complete": true,
2026-06-15T08:25:24.6574288Z           "evidence": [
2026-06-15T08:25:24.6574545Z             {
2026-06-15T08:25:24.6575104Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.6575370Z               "line": 59
2026-06-15T08:25:24.6575627Z             },
2026-06-15T08:25:24.6575889Z             {
2026-06-15T08:25:24.6576265Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.6576551Z               "line": 559
2026-06-15T08:25:24.6576913Z             },
2026-06-15T08:25:24.6577257Z             {
2026-06-15T08:25:24.6577659Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.6577929Z               "line": 191
2026-06-15T08:25:24.6578276Z             },
2026-06-15T08:25:24.6578589Z             {
2026-06-15T08:25:24.6579108Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.6579390Z               "line": 276
2026-06-15T08:25:24.6579667Z             },
2026-06-15T08:25:24.6579915Z             {
2026-06-15T08:25:24.6580249Z               "path": "crates/spt/src/main.rs",
2026-06-15T08:25:24.6580526Z               "line": 42
2026-06-15T08:25:24.6580792Z             },
2026-06-15T08:25:24.6581048Z             {
2026-06-15T08:25:24.6581370Z               "path": "installer/install.sh",
2026-06-15T08:25:24.6581651Z               "line": 104
2026-06-15T08:25:24.6581909Z             }
2026-06-15T08:25:24.6582167Z           ]
2026-06-15T08:25:24.6582443Z         },
2026-06-15T08:25:24.6582700Z         "int": {
2026-06-15T08:25:24.6582987Z           "complete": false,
2026-06-15T08:25:24.6583262Z           "evidence": []
2026-06-15T08:25:24.6583530Z         },
2026-06-15T08:25:24.6583781Z         "unit": {
2026-06-15T08:25:24.6584075Z           "complete": true,
2026-06-15T08:25:24.6584346Z           "evidence": [
2026-06-15T08:25:24.6584594Z             {
2026-06-15T08:25:24.6584976Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-15T08:25:24.6585248Z               "line": 866
2026-06-15T08:25:24.6585516Z             }
2026-06-15T08:25:24.6585773Z           ]
2026-06-15T08:25:24.6586036Z         }
2026-06-15T08:25:24.6586299Z       }
2026-06-15T08:25:24.6586553Z     },
2026-06-15T08:25:24.6586797Z     {
2026-06-15T08:25:24.6587079Z       "id": "REQ-INSTALL-7",
2026-06-15T08:25:24.6590398Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-15T08:25:24.6590703Z       "requiredStages": [
2026-06-15T08:25:24.6590961Z         "impl"
2026-06-15T08:25:24.6591227Z       ],
2026-06-15T08:25:24.6591495Z       "stages": {
2026-06-15T08:25:24.6591756Z         "doc": {
2026-06-15T08:25:24.6592035Z           "complete": false,
2026-06-15T08:25:24.6592316Z           "evidence": []
2026-06-15T08:25:24.6592574Z         },
2026-06-15T08:25:24.6592841Z         "impl": {
2026-06-15T08:25:24.6593146Z           "complete": true,
2026-06-15T08:25:24.6593414Z           "evidence": [
2026-06-15T08:25:24.6593677Z             {
2026-06-15T08:25:24.6593997Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6594275Z               "line": 3476
2026-06-15T08:25:24.6594530Z             },
2026-06-15T08:25:24.6594788Z             {
2026-06-15T08:25:24.6595145Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6595422Z               "line": 157
2026-06-15T08:25:24.6595680Z             }
2026-06-15T08:25:24.6595928Z           ]
2026-06-15T08:25:24.6596185Z         },
2026-06-15T08:25:24.6596438Z         "int": {
2026-06-15T08:25:24.6596724Z           "complete": false,
2026-06-15T08:25:24.6597000Z           "evidence": []
2026-06-15T08:25:24.6597253Z         },
2026-06-15T08:25:24.6597514Z         "unit": {
2026-06-15T08:25:24.6597801Z           "complete": false,
2026-06-15T08:25:24.6598082Z           "evidence": []
2026-06-15T08:25:24.6598344Z         }
2026-06-15T08:25:24.6598730Z       }
2026-06-15T08:25:24.6599074Z     },
2026-06-15T08:25:24.6599330Z     {
2026-06-15T08:25:24.6599628Z       "id": "REQ-INSTALL-8",
2026-06-15T08:25:24.6602973Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-15T08:25:24.6603397Z       "requiredStages": [
2026-06-15T08:25:24.6603659Z         "impl"
2026-06-15T08:25:24.6603908Z       ],
2026-06-15T08:25:24.6604174Z       "stages": {
2026-06-15T08:25:24.6604441Z         "doc": {
2026-06-15T08:25:24.6604731Z           "complete": false,
2026-06-15T08:25:24.6605005Z           "evidence": []
2026-06-15T08:25:24.6605268Z         },
2026-06-15T08:25:24.6605525Z         "impl": {
2026-06-15T08:25:24.6605801Z           "complete": true,
2026-06-15T08:25:24.6606077Z           "evidence": [
2026-06-15T08:25:24.6606339Z             {
2026-06-15T08:25:24.6606674Z               "path": "installer/install.ps1",
2026-06-15T08:25:24.6606950Z               "line": 184
2026-06-15T08:25:24.6607217Z             },
2026-06-15T08:25:24.6607490Z             {
2026-06-15T08:25:24.6607808Z               "path": "installer/install.sh",
2026-06-15T08:25:24.6608084Z               "line": 121
2026-06-15T08:25:24.6608341Z             }
2026-06-15T08:25:24.6608598Z           ]
2026-06-15T08:25:24.6608852Z         },
2026-06-15T08:25:24.6609186Z         "int": {
2026-06-15T08:25:24.6609471Z           "complete": false,
2026-06-15T08:25:24.6609749Z           "evidence": []
2026-06-15T08:25:24.6610009Z         },
2026-06-15T08:25:24.6610269Z         "unit": {
2026-06-15T08:25:24.6610565Z           "complete": false,
2026-06-15T08:25:24.6610831Z           "evidence": []
2026-06-15T08:25:24.6611085Z         }
2026-06-15T08:25:24.6611357Z       }
2026-06-15T08:25:24.6611605Z     },
2026-06-15T08:25:24.6611862Z     {
2026-06-15T08:25:24.6612143Z       "id": "REQ-KICK-1",
2026-06-15T08:25:24.6619288Z       "title": "Explicit, loud controller displacement: `spt rc kick <target>` / `--take` (Take intent) kicks the incumbent controller and becomes controller; the displaced controller receives a LOUD `Displaced{by}` notice and is FULLY DETACHED (not demoted to a viewer). A default attach to a controlled endpoint is NEVER a silent displace (it is the Control busy-refusal). An old (N-1) rc omits intent → Control, so it can drive a free endpoint but CANNOT `--take` — it can never silently steal, and gets a clean busy-refusal instead. Taking control rides the same access_check(endpoint, origin, Unsolicited) as a normal control attach (if you may drive, you may take — no elevated kick policy). The picker surfaces 'Kick <node> and attach' (Take) only on a controlled (blue ■) endpoint, via the existing attach dispatch (single-bringup-path: intent is a parameter).",
2026-06-15T08:25:24.6619613Z       "requiredStages": [
2026-06-15T08:25:24.6619870Z         "doc",
2026-06-15T08:25:24.6620131Z         "impl",
2026-06-15T08:25:24.6620393Z         "unit",
2026-06-15T08:25:24.6620654Z         "int"
2026-06-15T08:25:24.6620911Z       ],
2026-06-15T08:25:24.6621183Z       "stages": {
2026-06-15T08:25:24.6621468Z         "doc": {
2026-06-15T08:25:24.6621739Z           "complete": true,
2026-06-15T08:25:24.6622017Z           "evidence": [
2026-06-15T08:25:24.6622284Z             {
2026-06-15T08:25:24.6622570Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6622847Z               "line": 320
2026-06-15T08:25:24.6623110Z             }
2026-06-15T08:25:24.6623374Z           ]
2026-06-15T08:25:24.6623629Z         },
2026-06-15T08:25:24.6623902Z         "impl": {
2026-06-15T08:25:24.6624184Z           "complete": true,
2026-06-15T08:25:24.6624451Z           "evidence": [
2026-06-15T08:25:24.6624708Z             {
2026-06-15T08:25:24.6625194Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.6625470Z               "line": 41
2026-06-15T08:25:24.6625729Z             },
2026-06-15T08:25:24.6625994Z             {
2026-06-15T08:25:24.6626311Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.6626573Z               "line": 181
2026-06-15T08:25:24.6626936Z             }
2026-06-15T08:25:24.6627193Z           ]
2026-06-15T08:25:24.6627450Z         },
2026-06-15T08:25:24.6627718Z         "int": {
2026-06-15T08:25:24.6627999Z           "complete": true,
2026-06-15T08:25:24.6628276Z           "evidence": [
2026-06-15T08:25:24.6628534Z             {
2026-06-15T08:25:24.6628909Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.6629248Z               "line": 789
2026-06-15T08:25:24.6629511Z             }
2026-06-15T08:25:24.6629772Z           ]
2026-06-15T08:25:24.6630034Z         },
2026-06-15T08:25:24.6630301Z         "unit": {
2026-06-15T08:25:24.6630587Z           "complete": true,
2026-06-15T08:25:24.6630869Z           "evidence": [
2026-06-15T08:25:24.6631134Z             {
2026-06-15T08:25:24.6631505Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.6631776Z               "line": 205
2026-06-15T08:25:24.6632043Z             }
2026-06-15T08:25:24.6632309Z           ]
2026-06-15T08:25:24.6632572Z         }
2026-06-15T08:25:24.6632829Z       }
2026-06-15T08:25:24.6633088Z     },
2026-06-15T08:25:24.6633341Z     {
2026-06-15T08:25:24.6633631Z       "id": "REQ-MANIFEST-1",
2026-06-15T08:25:24.6634204Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-15T08:25:24.6634490Z       "requiredStages": [
2026-06-15T08:25:24.6634753Z         "doc",
2026-06-15T08:25:24.6635011Z         "impl",
2026-06-15T08:25:24.6635268Z         "unit"
2026-06-15T08:25:24.6635539Z       ],
2026-06-15T08:25:24.6635796Z       "stages": {
2026-06-15T08:25:24.6636068Z         "doc": {
2026-06-15T08:25:24.6636354Z           "complete": true,
2026-06-15T08:25:24.6636625Z           "evidence": [
2026-06-15T08:25:24.6636885Z             {
2026-06-15T08:25:24.6637186Z               "path": "docs/MANIFEST.md",
2026-06-15T08:25:24.6637462Z               "line": 19
2026-06-15T08:25:24.6637719Z             }
2026-06-15T08:25:24.6637978Z           ]
2026-06-15T08:25:24.6638244Z         },
2026-06-15T08:25:24.6638513Z         "impl": {
2026-06-15T08:25:24.6638799Z           "complete": true,
2026-06-15T08:25:24.6639142Z           "evidence": [
2026-06-15T08:25:24.6639397Z             {
2026-06-15T08:25:24.6639775Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6640051Z               "line": 18
2026-06-15T08:25:24.6640307Z             }
2026-06-15T08:25:24.6640570Z           ]
2026-06-15T08:25:24.6640818Z         },
2026-06-15T08:25:24.6641076Z         "int": {
2026-06-15T08:25:24.6641363Z           "complete": false,
2026-06-15T08:25:24.6641642Z           "evidence": []
2026-06-15T08:25:24.6641901Z         },
2026-06-15T08:25:24.6642178Z         "unit": {
2026-06-15T08:25:24.6642455Z           "complete": true,
2026-06-15T08:25:24.6642732Z           "evidence": [
2026-06-15T08:25:24.6642980Z             {
2026-06-15T08:25:24.6643366Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6643634Z               "line": 837
2026-06-15T08:25:24.6643896Z             },
2026-06-15T08:25:24.6644163Z             {
2026-06-15T08:25:24.6644533Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6644817Z               "line": 915
2026-06-15T08:25:24.6645078Z             },
2026-06-15T08:25:24.6645332Z             {
2026-06-15T08:25:24.6645699Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6645981Z               "line": 927
2026-06-15T08:25:24.6646243Z             },
2026-06-15T08:25:24.6646486Z             {
2026-06-15T08:25:24.6646877Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6647147Z               "line": 938
2026-06-15T08:25:24.6647518Z             },
2026-06-15T08:25:24.6647775Z             {
2026-06-15T08:25:24.6648138Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6648414Z               "line": 955
2026-06-15T08:25:24.6648676Z             },
2026-06-15T08:25:24.6648933Z             {
2026-06-15T08:25:24.6649388Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6649768Z               "line": 969
2026-06-15T08:25:24.6650030Z             },
2026-06-15T08:25:24.6650296Z             {
2026-06-15T08:25:24.6650678Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6650945Z               "line": 1034
2026-06-15T08:25:24.6651211Z             },
2026-06-15T08:25:24.6651464Z             {
2026-06-15T08:25:24.6651841Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6652116Z               "line": 1049
2026-06-15T08:25:24.6652381Z             },
2026-06-15T08:25:24.6652640Z             {
2026-06-15T08:25:24.6653020Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6653292Z               "line": 1160
2026-06-15T08:25:24.6653550Z             },
2026-06-15T08:25:24.6653802Z             {
2026-06-15T08:25:24.6654180Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6654452Z               "line": 1171
2026-06-15T08:25:24.6654718Z             }
2026-06-15T08:25:24.6654969Z           ]
2026-06-15T08:25:24.6655229Z         }
2026-06-15T08:25:24.6655487Z       }
2026-06-15T08:25:24.6655735Z     },
2026-06-15T08:25:24.6655986Z     {
2026-06-15T08:25:24.6656278Z       "id": "REQ-MANIFEST-2",
2026-06-15T08:25:24.6657674Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-15T08:25:24.6657963Z       "requiredStages": [
2026-06-15T08:25:24.6658234Z         "doc",
2026-06-15T08:25:24.6658492Z         "impl",
2026-06-15T08:25:24.6658750Z         "unit"
2026-06-15T08:25:24.6659108Z       ],
2026-06-15T08:25:24.6659370Z       "stages": {
2026-06-15T08:25:24.6659637Z         "doc": {
2026-06-15T08:25:24.6659914Z           "complete": true,
2026-06-15T08:25:24.6660196Z           "evidence": [
2026-06-15T08:25:24.6660455Z             {
2026-06-15T08:25:24.6660751Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6661051Z               "line": 75
2026-06-15T08:25:24.6661310Z             }
2026-06-15T08:25:24.6661562Z           ]
2026-06-15T08:25:24.6661815Z         },
2026-06-15T08:25:24.6662072Z         "impl": {
2026-06-15T08:25:24.6662353Z           "complete": true,
2026-06-15T08:25:24.6662620Z           "evidence": [
2026-06-15T08:25:24.6662890Z             {
2026-06-15T08:25:24.6663265Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6663533Z               "line": 62
2026-06-15T08:25:24.6663795Z             },
2026-06-15T08:25:24.6664053Z             {
2026-06-15T08:25:24.6664420Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6664702Z               "line": 15
2026-06-15T08:25:24.6664968Z             },
2026-06-15T08:25:24.6665220Z             {
2026-06-15T08:25:24.6665595Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6665870Z               "line": 65
2026-06-15T08:25:24.6666128Z             },
2026-06-15T08:25:24.6666381Z             {
2026-06-15T08:25:24.6666758Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6667029Z               "line": 83
2026-06-15T08:25:24.6667288Z             },
2026-06-15T08:25:24.6667549Z             {
2026-06-15T08:25:24.6667908Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6668186Z               "line": 183
2026-06-15T08:25:24.6668446Z             },
2026-06-15T08:25:24.6668695Z             {
2026-06-15T08:25:24.6669143Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6669418Z               "line": 482
2026-06-15T08:25:24.6669791Z             },
2026-06-15T08:25:24.6670039Z             {
2026-06-15T08:25:24.6670416Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6670687Z               "line": 508
2026-06-15T08:25:24.6670954Z             },
2026-06-15T08:25:24.6671212Z             {
2026-06-15T08:25:24.6671574Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6671945Z               "line": 626
2026-06-15T08:25:24.6672203Z             },
2026-06-15T08:25:24.6672471Z             {
2026-06-15T08:25:24.6672841Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6673119Z               "line": 651
2026-06-15T08:25:24.6673380Z             },
2026-06-15T08:25:24.6673635Z             {
2026-06-15T08:25:24.6674017Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6674284Z               "line": 674
2026-06-15T08:25:24.6674550Z             },
2026-06-15T08:25:24.6674803Z             {
2026-06-15T08:25:24.6675180Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6675456Z               "line": 689
2026-06-15T08:25:24.6675718Z             },
2026-06-15T08:25:24.6675991Z             {
2026-06-15T08:25:24.6676308Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6676579Z               "line": 4987
2026-06-15T08:25:24.6676855Z             },
2026-06-15T08:25:24.6677116Z             {
2026-06-15T08:25:24.6677427Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6677703Z               "line": 5001
2026-06-15T08:25:24.6677961Z             },
2026-06-15T08:25:24.6678214Z             {
2026-06-15T08:25:24.6678543Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6678823Z               "line": 5035
2026-06-15T08:25:24.6679131Z             }
2026-06-15T08:25:24.6679393Z           ]
2026-06-15T08:25:24.6679645Z         },
2026-06-15T08:25:24.6679913Z         "int": {
2026-06-15T08:25:24.6680199Z           "complete": false,
2026-06-15T08:25:24.6680480Z           "evidence": []
2026-06-15T08:25:24.6680738Z         },
2026-06-15T08:25:24.6681006Z         "unit": {
2026-06-15T08:25:24.6681287Z           "complete": true,
2026-06-15T08:25:24.6681561Z           "evidence": [
2026-06-15T08:25:24.6681819Z             {
2026-06-15T08:25:24.6682200Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.6682486Z               "line": 920
2026-06-15T08:25:24.6682749Z             },
2026-06-15T08:25:24.6683007Z             {
2026-06-15T08:25:24.6683392Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6683665Z               "line": 211
2026-06-15T08:25:24.6683935Z             },
2026-06-15T08:25:24.6684190Z             {
2026-06-15T08:25:24.6684572Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6684854Z               "line": 272
2026-06-15T08:25:24.6685100Z             },
2026-06-15T08:25:24.6685359Z             {
2026-06-15T08:25:24.6685735Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6686021Z               "line": 313
2026-06-15T08:25:24.6686278Z             },
2026-06-15T08:25:24.6686542Z             {
2026-06-15T08:25:24.6686924Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6687191Z               "line": 325
2026-06-15T08:25:24.6687449Z             },
2026-06-15T08:25:24.6687706Z             {
2026-06-15T08:25:24.6688088Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6688365Z               "line": 336
2026-06-15T08:25:24.6688622Z             },
2026-06-15T08:25:24.6688879Z             {
2026-06-15T08:25:24.6689312Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6689590Z               "line": 345
2026-06-15T08:25:24.6689853Z             },
2026-06-15T08:25:24.6690116Z             {
2026-06-15T08:25:24.6690477Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6690754Z               "line": 361
2026-06-15T08:25:24.6691145Z             },
2026-06-15T08:25:24.6691402Z             {
2026-06-15T08:25:24.6691779Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6692045Z               "line": 444
2026-06-15T08:25:24.6692313Z             },
2026-06-15T08:25:24.6692566Z             {
2026-06-15T08:25:24.6692942Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6693318Z               "line": 877
2026-06-15T08:25:24.6693581Z             },
2026-06-15T08:25:24.6693839Z             {
2026-06-15T08:25:24.6694211Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6694485Z               "line": 901
2026-06-15T08:25:24.6694745Z             },
2026-06-15T08:25:24.6695007Z             {
2026-06-15T08:25:24.6695389Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6695665Z               "line": 927
2026-06-15T08:25:24.6695933Z             },
2026-06-15T08:25:24.6696195Z             {
2026-06-15T08:25:24.6696586Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6696867Z               "line": 946
2026-06-15T08:25:24.6697116Z             },
2026-06-15T08:25:24.6697372Z             {
2026-06-15T08:25:24.6697742Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6698024Z               "line": 977
2026-06-15T08:25:24.6698295Z             },
2026-06-15T08:25:24.6698561Z             {
2026-06-15T08:25:24.6699015Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.6699302Z               "line": 309
2026-06-15T08:25:24.6699564Z             },
2026-06-15T08:25:24.6699824Z             {
2026-06-15T08:25:24.6700159Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.6700437Z               "line": 486
2026-06-15T08:25:24.6700694Z             },
2026-06-15T08:25:24.6700947Z             {
2026-06-15T08:25:24.6701267Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6701544Z               "line": 6930
2026-06-15T08:25:24.6701806Z             },
2026-06-15T08:25:24.6702072Z             {
2026-06-15T08:25:24.6702383Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6702663Z               "line": 7814
2026-06-15T08:25:24.6702920Z             }
2026-06-15T08:25:24.6703178Z           ]
2026-06-15T08:25:24.6703441Z         }
2026-06-15T08:25:24.6703707Z       }
2026-06-15T08:25:24.6703964Z     },
2026-06-15T08:25:24.6704222Z     {
2026-06-15T08:25:24.6704522Z       "id": "REQ-MANIFEST-3",
2026-06-15T08:25:24.6706313Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-15T08:25:24.6706603Z       "requiredStages": [
2026-06-15T08:25:24.6706860Z         "doc",
2026-06-15T08:25:24.6707128Z         "impl",
2026-06-15T08:25:24.6707384Z         "unit"
2026-06-15T08:25:24.6707639Z       ],
2026-06-15T08:25:24.6707904Z       "stages": {
2026-06-15T08:25:24.6708187Z         "doc": {
2026-06-15T08:25:24.6708468Z           "complete": true,
2026-06-15T08:25:24.6708744Z           "evidence": [
2026-06-15T08:25:24.6709073Z             {
2026-06-15T08:25:24.6709370Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6709641Z               "line": 81
2026-06-15T08:25:24.6709905Z             }
2026-06-15T08:25:24.6710191Z           ]
2026-06-15T08:25:24.6710442Z         },
2026-06-15T08:25:24.6710711Z         "impl": {
2026-06-15T08:25:24.6710982Z           "complete": true,
2026-06-15T08:25:24.6711259Z           "evidence": [
2026-06-15T08:25:24.6711517Z             {
2026-06-15T08:25:24.6711899Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6712184Z               "line": 72
2026-06-15T08:25:24.6712443Z             },
2026-06-15T08:25:24.6712705Z             {
2026-06-15T08:25:24.6713082Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6713361Z               "line": 101
2026-06-15T08:25:24.6713743Z             },
2026-06-15T08:25:24.6713996Z             {
2026-06-15T08:25:24.6714372Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6714645Z               "line": 132
2026-06-15T08:25:24.6714902Z             },
2026-06-15T08:25:24.6715163Z             {
2026-06-15T08:25:24.6715534Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6715919Z               "line": 532
2026-06-15T08:25:24.6716171Z             },
2026-06-15T08:25:24.6716433Z             {
2026-06-15T08:25:24.6716815Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6717095Z               "line": 588
2026-06-15T08:25:24.6717349Z             },
2026-06-15T08:25:24.6717611Z             {
2026-06-15T08:25:24.6717935Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6718208Z               "line": 5048
2026-06-15T08:25:24.6718464Z             },
2026-06-15T08:25:24.6718718Z             {
2026-06-15T08:25:24.6719106Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6719401Z               "line": 5074
2026-06-15T08:25:24.6719667Z             }
2026-06-15T08:25:24.6719935Z           ]
2026-06-15T08:25:24.6720187Z         },
2026-06-15T08:25:24.6720455Z         "int": {
2026-06-15T08:25:24.6720737Z           "complete": false,
2026-06-15T08:25:24.6721016Z           "evidence": []
2026-06-15T08:25:24.6721280Z         },
2026-06-15T08:25:24.6721547Z         "unit": {
2026-06-15T08:25:24.6721838Z           "complete": true,
2026-06-15T08:25:24.6722116Z           "evidence": [
2026-06-15T08:25:24.6722378Z             {
2026-06-15T08:25:24.6722744Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6723026Z               "line": 371
2026-06-15T08:25:24.6723285Z             },
2026-06-15T08:25:24.6723542Z             {
2026-06-15T08:25:24.6723917Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6724193Z               "line": 429
2026-06-15T08:25:24.6724455Z             },
2026-06-15T08:25:24.6724722Z             {
2026-06-15T08:25:24.6725104Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6725380Z               "line": 1001
2026-06-15T08:25:24.6725642Z             },
2026-06-15T08:25:24.6725901Z             {
2026-06-15T08:25:24.6726222Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6726507Z               "line": 6985
2026-06-15T08:25:24.6726764Z             }
2026-06-15T08:25:24.6727021Z           ]
2026-06-15T08:25:24.6727279Z         }
2026-06-15T08:25:24.6727547Z       }
2026-06-15T08:25:24.6727795Z     },
2026-06-15T08:25:24.6728058Z     {
2026-06-15T08:25:24.6728348Z       "id": "REQ-MANIFEST-4",
2026-06-15T08:25:24.6730381Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-15T08:25:24.6730686Z       "requiredStages": [
2026-06-15T08:25:24.6730963Z         "doc",
2026-06-15T08:25:24.6731215Z         "impl",
2026-06-15T08:25:24.6731485Z         "unit"
2026-06-15T08:25:24.6731741Z       ],
2026-06-15T08:25:24.6732014Z       "stages": {
2026-06-15T08:25:24.6732271Z         "doc": {
2026-06-15T08:25:24.6732566Z           "complete": true,
2026-06-15T08:25:24.6732857Z           "evidence": [
2026-06-15T08:25:24.6733114Z             {
2026-06-15T08:25:24.6733404Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6733677Z               "line": 88
2026-06-15T08:25:24.6733934Z             }
2026-06-15T08:25:24.6734188Z           ]
2026-06-15T08:25:24.6734453Z         },
2026-06-15T08:25:24.6734710Z         "impl": {
2026-06-15T08:25:24.6734996Z           "complete": true,
2026-06-15T08:25:24.6735268Z           "evidence": [
2026-06-15T08:25:24.6735526Z             {
2026-06-15T08:25:24.6735903Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6736178Z               "line": 80
2026-06-15T08:25:24.6736550Z             },
2026-06-15T08:25:24.6736811Z             {
2026-06-15T08:25:24.6737186Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6737468Z               "line": 152
2026-06-15T08:25:24.6737726Z             },
2026-06-15T08:25:24.6737979Z             {
2026-06-15T08:25:24.6738322Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6738693Z               "line": 83
2026-06-15T08:25:24.6739013Z             },
2026-06-15T08:25:24.6739272Z             {
2026-06-15T08:25:24.6739641Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.6739911Z               "line": 505
2026-06-15T08:25:24.6740168Z             },
2026-06-15T08:25:24.6740416Z             {
2026-06-15T08:25:24.6740782Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.6741064Z               "line": 530
2026-06-15T08:25:24.6741322Z             }
2026-06-15T08:25:24.6741589Z           ]
2026-06-15T08:25:24.6741848Z         },
2026-06-15T08:25:24.6742112Z         "int": {
2026-06-15T08:25:24.6742396Z           "complete": false,
2026-06-15T08:25:24.6742672Z           "evidence": []
2026-06-15T08:25:24.6742935Z         },
2026-06-15T08:25:24.6743193Z         "unit": {
2026-06-15T08:25:24.6743470Z           "complete": true,
2026-06-15T08:25:24.6743742Z           "evidence": [
2026-06-15T08:25:24.6744003Z             {
2026-06-15T08:25:24.6744372Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6744652Z               "line": 984
2026-06-15T08:25:24.6744922Z             },
2026-06-15T08:25:24.6745175Z             {
2026-06-15T08:25:24.6745542Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6745819Z               "line": 1017
2026-06-15T08:25:24.6746086Z             },
2026-06-15T08:25:24.6746349Z             {
2026-06-15T08:25:24.6746711Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.6746984Z               "line": 860
2026-06-15T08:25:24.6747244Z             }
2026-06-15T08:25:24.6747508Z           ]
2026-06-15T08:25:24.6747765Z         }
2026-06-15T08:25:24.6748024Z       }
2026-06-15T08:25:24.6748272Z     },
2026-06-15T08:25:24.6748529Z     {
2026-06-15T08:25:24.6748824Z       "id": "REQ-MANIFEST-5",
2026-06-15T08:25:24.6757186Z       "title": "File-backed adapter [strings] (M12-W3-T3.1): a [strings] dot-path value MAY be an inline-table FILE POINTER `key = { file = \"rel/path\" }` resolved to the file's contents at get-string time, keeping large bodies (skill-instructions, hint text) out of the manifest. A value-position table with a `file` key IS the pointer form (reserved — cannot double as data). Per-adapter aux storage `adapters/<adapter>/strings/`; pointers resolve relative to it with CONTAINMENT (reject `..`/absolute escaping the dir). UPDATE-SAFETY: a LOCAL profile's file-pointers resolve relative to the user-owned local-profile dir (NOT adapter-shipped strings/, which adapter updates overwrite), or the local profile inlines. Validate-at-register (fail-fast on a bad/escaping/missing pointer) + LAZY read at get-string (live file edits reflect, no re-register) + skip-diagnostics on missing-at-read (no hard-crash, mirrors [digest]). Rides the same leaf-replace profile overlay as the rest of [strings].",
2026-06-15T08:25:24.6757524Z       "requiredStages": [
2026-06-15T08:25:24.6757789Z         "doc",
2026-06-15T08:25:24.6758078Z         "impl",
2026-06-15T08:25:24.6758349Z         "unit"
2026-06-15T08:25:24.6758598Z       ],
2026-06-15T08:25:24.6758865Z       "stages": {
2026-06-15T08:25:24.6759222Z         "doc": {
2026-06-15T08:25:24.6759504Z           "complete": true,
2026-06-15T08:25:24.6759786Z           "evidence": [
2026-06-15T08:25:24.6760048Z             {
2026-06-15T08:25:24.6760344Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6760613Z               "line": 83
2026-06-15T08:25:24.6760868Z             }
2026-06-15T08:25:24.6761137Z           ]
2026-06-15T08:25:24.6761394Z         },
2026-06-15T08:25:24.6761661Z         "impl": {
2026-06-15T08:25:24.6762047Z           "complete": true,
2026-06-15T08:25:24.6762324Z           "evidence": [
2026-06-15T08:25:24.6762586Z             {
2026-06-15T08:25:24.6762968Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6763237Z               "line": 120
2026-06-15T08:25:24.6763497Z             }
2026-06-15T08:25:24.6763869Z           ]
2026-06-15T08:25:24.6764117Z         },
2026-06-15T08:25:24.6764389Z         "int": {
2026-06-15T08:25:24.6764670Z           "complete": false,
2026-06-15T08:25:24.6764942Z           "evidence": []
2026-06-15T08:25:24.6765201Z         },
2026-06-15T08:25:24.6765458Z         "unit": {
2026-06-15T08:25:24.6765738Z           "complete": true,
2026-06-15T08:25:24.6766000Z           "evidence": [
2026-06-15T08:25:24.6766263Z             {
2026-06-15T08:25:24.6766643Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-15T08:25:24.6766921Z               "line": 404
2026-06-15T08:25:24.6767187Z             },
2026-06-15T08:25:24.6767455Z             {
2026-06-15T08:25:24.6767836Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6768113Z               "line": 1074
2026-06-15T08:25:24.6768373Z             },
2026-06-15T08:25:24.6768628Z             {
2026-06-15T08:25:24.6769097Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6769387Z               "line": 1103
2026-06-15T08:25:24.6769640Z             },
2026-06-15T08:25:24.6769901Z             {
2026-06-15T08:25:24.6770269Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6770550Z               "line": 1143
2026-06-15T08:25:24.6770803Z             },
2026-06-15T08:25:24.6771060Z             {
2026-06-15T08:25:24.6771438Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6771716Z               "line": 1158
2026-06-15T08:25:24.6771977Z             }
2026-06-15T08:25:24.6772235Z           ]
2026-06-15T08:25:24.6772492Z         }
2026-06-15T08:25:24.6772740Z       }
2026-06-15T08:25:24.6772997Z     },
2026-06-15T08:25:24.6773256Z     {
2026-06-15T08:25:24.6773552Z       "id": "REQ-MANIFEST-6",
2026-06-15T08:25:24.6779652Z       "title": "Cross-adapter fallback target addressing (M12-W3-T3.2): a cross-adapter fallback target is addressed as `<adapter>:<profile>` (not just a bare adapter_name), resolved through the one composite-addressing resolver (registry::resolve_option) at every adapter-option read site so a fallback may select a shipped/local profile (e.g. a `ccs` profile). CONTEXT.md §cross-adapter-fallback reconciled (\"ccs is a profile; cross-adapter fallback may target <adapter>:<profile>\"). Contract-only this milestone: the node-wide fallback SETTING + its rate-limit invocation are deferred to the consuming milestone (the runtime path does not exist yet); this REQ guarantees the ADDRESSING resolves.",
2026-06-15T08:25:24.6779967Z       "requiredStages": [
2026-06-15T08:25:24.6780220Z         "doc",
2026-06-15T08:25:24.6780476Z         "unit"
2026-06-15T08:25:24.6780752Z       ],
2026-06-15T08:25:24.6781019Z       "stages": {
2026-06-15T08:25:24.6781282Z         "doc": {
2026-06-15T08:25:24.6781569Z           "complete": true,
2026-06-15T08:25:24.6781839Z           "evidence": [
2026-06-15T08:25:24.6782098Z             {
2026-06-15T08:25:24.6782389Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.6782684Z               "line": 139
2026-06-15T08:25:24.6782938Z             }
2026-06-15T08:25:24.6783196Z           ]
2026-06-15T08:25:24.6783463Z         },
2026-06-15T08:25:24.6783735Z         "impl": {
2026-06-15T08:25:24.6784016Z           "complete": false,
2026-06-15T08:25:24.6784296Z           "evidence": []
2026-06-15T08:25:24.6784555Z         },
2026-06-15T08:25:24.6784814Z         "int": {
2026-06-15T08:25:24.6785104Z           "complete": false,
2026-06-15T08:25:24.6785377Z           "evidence": []
2026-06-15T08:25:24.6785634Z         },
2026-06-15T08:25:24.6785895Z         "unit": {
2026-06-15T08:25:24.6786186Z           "complete": true,
2026-06-15T08:25:24.6786588Z           "evidence": [
2026-06-15T08:25:24.6786849Z             {
2026-06-15T08:25:24.6787230Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-15T08:25:24.6787510Z               "line": 1180
2026-06-15T08:25:24.6787778Z             }
2026-06-15T08:25:24.6788031Z           ]
2026-06-15T08:25:24.6788293Z         }
2026-06-15T08:25:24.6788650Z       }
2026-06-15T08:25:24.6788914Z     },
2026-06-15T08:25:24.6789252Z     {
2026-06-15T08:25:24.6789546Z       "id": "REQ-MANIFEST-7",
2026-06-15T08:25:24.6797842Z       "title": "Adapter-declared shortcut basename (M12-W2 follow-on): an optional `[adapter] shortcut_basename` manifest field names the basename the `spt endpoint run` picker bakes into the generated `<basename>-<id>` launcher shortcut (REQ-RUN-SHORTCUT). Absent ⇒ the harness-agnostic default `spt` (→ `spt-<id>`); an adapter sets it to brand its shortcuts (claude-spt → `cc` → `cc-<id>`), so the Claude-Code-ness lives in the PUBLISHED adapter manifest, never hardcoded in spt-core. The picker reads it from the RESOLVED manifest of the selected adapter (registry::resolve_option), falling back to `spt` when absent/empty/unresolvable. Additive + N-1-safe (serde-default Option, omitted from serialization when absent; old manifests parse clean); manifest.schema.json regenerated from the derive (ADR-0001, CI drift-gated). Documented in docs/MANIFEST.md `[adapter]` section + the claude-spt worked example — the adapter-author contract perri builds spt-claude-code against.",
2026-06-15T08:25:24.6801410Z       "requiredStages": [
2026-06-15T08:25:24.6801688Z         "doc",
2026-06-15T08:25:24.6801959Z         "impl",
2026-06-15T08:25:24.6802230Z         "unit"
2026-06-15T08:25:24.6802493Z       ],
2026-06-15T08:25:24.6802769Z       "stages": {
2026-06-15T08:25:24.6803029Z         "doc": {
2026-06-15T08:25:24.6803310Z           "complete": true,
2026-06-15T08:25:24.6803587Z           "evidence": [
2026-06-15T08:25:24.6803833Z             {
2026-06-15T08:25:24.6804148Z               "path": "docs/MANIFEST.md",
2026-06-15T08:25:24.6804444Z               "line": 34
2026-06-15T08:25:24.6804701Z             }
2026-06-15T08:25:24.6804960Z           ]
2026-06-15T08:25:24.6805218Z         },
2026-06-15T08:25:24.6805487Z         "impl": {
2026-06-15T08:25:24.6805776Z           "complete": true,
2026-06-15T08:25:24.6806057Z           "evidence": [
2026-06-15T08:25:24.6806348Z             {
2026-06-15T08:25:24.6806705Z               "path": "crates/spt/src/picker/data.rs",
2026-06-15T08:25:24.6806987Z               "line": 54
2026-06-15T08:25:24.6807245Z             }
2026-06-15T08:25:24.6807507Z           ]
2026-06-15T08:25:24.6807766Z         },
2026-06-15T08:25:24.6808028Z         "int": {
2026-06-15T08:25:24.6808307Z           "complete": false,
2026-06-15T08:25:24.6808593Z           "evidence": []
2026-06-15T08:25:24.6808842Z         },
2026-06-15T08:25:24.6809185Z         "unit": {
2026-06-15T08:25:24.6809480Z           "complete": true,
2026-06-15T08:25:24.6809743Z           "evidence": [
2026-06-15T08:25:24.6810010Z             {
2026-06-15T08:25:24.6810387Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.6810666Z               "line": 1177
2026-06-15T08:25:24.6810917Z             }
2026-06-15T08:25:24.6811179Z           ]
2026-06-15T08:25:24.6811441Z         }
2026-06-15T08:25:24.6811694Z       }
2026-06-15T08:25:24.6811961Z     },
2026-06-15T08:25:24.6812214Z     {
2026-06-15T08:25:24.6812495Z       "id": "REQ-MESH-1",
2026-06-15T08:25:24.6818539Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-15T08:25:24.6819073Z       "requiredStages": [
2026-06-15T08:25:24.6819335Z         "impl",
2026-06-15T08:25:24.6819588Z         "unit",
2026-06-15T08:25:24.6819969Z         "int"
2026-06-15T08:25:24.6820222Z       ],
2026-06-15T08:25:24.6820488Z       "stages": {
2026-06-15T08:25:24.6820760Z         "doc": {
2026-06-15T08:25:24.6821036Z           "complete": false,
2026-06-15T08:25:24.6821315Z           "evidence": []
2026-06-15T08:25:24.6821568Z         },
2026-06-15T08:25:24.6821839Z         "impl": {
2026-06-15T08:25:24.6822130Z           "complete": true,
2026-06-15T08:25:24.6822406Z           "evidence": [
2026-06-15T08:25:24.6822663Z             {
2026-06-15T08:25:24.6823041Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.6823312Z               "line": 771
2026-06-15T08:25:24.6823574Z             },
2026-06-15T08:25:24.6823842Z             {
2026-06-15T08:25:24.6824234Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6824502Z               "line": 38
2026-06-15T08:25:24.6824764Z             },
2026-06-15T08:25:24.6825022Z             {
2026-06-15T08:25:24.6825412Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6825695Z               "line": 161
2026-06-15T08:25:24.6825966Z             },
2026-06-15T08:25:24.6826232Z             {
2026-06-15T08:25:24.6826603Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6826877Z               "line": 206
2026-06-15T08:25:24.6827135Z             },
2026-06-15T08:25:24.6827388Z             {
2026-06-15T08:25:24.6827764Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.6828036Z               "line": 57
2026-06-15T08:25:24.6828298Z             },
2026-06-15T08:25:24.6828552Z             {
2026-06-15T08:25:24.6829037Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6829309Z               "line": 24
2026-06-15T08:25:24.6829567Z             },
2026-06-15T08:25:24.6829824Z             {
2026-06-15T08:25:24.6830224Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6830501Z               "line": 142
2026-06-15T08:25:24.6830773Z             },
2026-06-15T08:25:24.6831034Z             {
2026-06-15T08:25:24.6831426Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6831705Z               "line": 162
2026-06-15T08:25:24.6831965Z             }
2026-06-15T08:25:24.6832228Z           ]
2026-06-15T08:25:24.6832485Z         },
2026-06-15T08:25:24.6832744Z         "int": {
2026-06-15T08:25:24.6833034Z           "complete": true,
2026-06-15T08:25:24.6833295Z           "evidence": [
2026-06-15T08:25:24.6833558Z             {
2026-06-15T08:25:24.6833960Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-15T08:25:24.6834231Z               "line": 67
2026-06-15T08:25:24.6834492Z             },
2026-06-15T08:25:24.6834743Z             {
2026-06-15T08:25:24.6835128Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-15T08:25:24.6835391Z               "line": 93
2026-06-15T08:25:24.6835653Z             },
2026-06-15T08:25:24.6835911Z             {
2026-06-15T08:25:24.6836306Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-15T08:25:24.6836593Z               "line": 117
2026-06-15T08:25:24.6836850Z             },
2026-06-15T08:25:24.6837110Z             {
2026-06-15T08:25:24.6837509Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-15T08:25:24.6837786Z               "line": 134
2026-06-15T08:25:24.6838043Z             }
2026-06-15T08:25:24.6838296Z           ]
2026-06-15T08:25:24.6838544Z         },
2026-06-15T08:25:24.6838807Z         "unit": {
2026-06-15T08:25:24.6839155Z           "complete": true,
2026-06-15T08:25:24.6839427Z           "evidence": [
2026-06-15T08:25:24.6839794Z             {
2026-06-15T08:25:24.6840170Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.6840441Z               "line": 427
2026-06-15T08:25:24.6840704Z             },
2026-06-15T08:25:24.6840955Z             {
2026-06-15T08:25:24.6841362Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6841738Z               "line": 376
2026-06-15T08:25:24.6841996Z             },
2026-06-15T08:25:24.6842256Z             {
2026-06-15T08:25:24.6842649Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6842921Z               "line": 412
2026-06-15T08:25:24.6843178Z             },
2026-06-15T08:25:24.6843436Z             {
2026-06-15T08:25:24.6843832Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6844108Z               "line": 427
2026-06-15T08:25:24.6844365Z             },
2026-06-15T08:25:24.6844624Z             {
2026-06-15T08:25:24.6845018Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6845298Z               "line": 438
2026-06-15T08:25:24.6845560Z             },
2026-06-15T08:25:24.6845813Z             {
2026-06-15T08:25:24.6846223Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6846500Z               "line": 449
2026-06-15T08:25:24.6846762Z             },
2026-06-15T08:25:24.6847019Z             {
2026-06-15T08:25:24.6847420Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6847699Z               "line": 460
2026-06-15T08:25:24.6847964Z             },
2026-06-15T08:25:24.6848226Z             {
2026-06-15T08:25:24.6848627Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6848889Z               "line": 496
2026-06-15T08:25:24.6849227Z             },
2026-06-15T08:25:24.6849486Z             {
2026-06-15T08:25:24.6849886Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6850172Z               "line": 519
2026-06-15T08:25:24.6850433Z             },
2026-06-15T08:25:24.6850696Z             {
2026-06-15T08:25:24.6851087Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6851368Z               "line": 546
2026-06-15T08:25:24.6851616Z             }
2026-06-15T08:25:24.6851878Z           ]
2026-06-15T08:25:24.6852144Z         }
2026-06-15T08:25:24.6852402Z       }
2026-06-15T08:25:24.6852655Z     },
2026-06-15T08:25:24.6852906Z     {
2026-06-15T08:25:24.6853181Z       "id": "REQ-MESH-2",
2026-06-15T08:25:24.6860618Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-15T08:25:24.6860952Z       "requiredStages": [
2026-06-15T08:25:24.6861213Z         "impl",
2026-06-15T08:25:24.6861484Z         "unit",
2026-06-15T08:25:24.6861737Z         "int"
2026-06-15T08:25:24.6861999Z       ],
2026-06-15T08:25:24.6862262Z       "stages": {
2026-06-15T08:25:24.6862524Z         "doc": {
2026-06-15T08:25:24.6862811Z           "complete": false,
2026-06-15T08:25:24.6863087Z           "evidence": []
2026-06-15T08:25:24.6863352Z         },
2026-06-15T08:25:24.6863603Z         "impl": {
2026-06-15T08:25:24.6863899Z           "complete": true,
2026-06-15T08:25:24.6864294Z           "evidence": [
2026-06-15T08:25:24.6864547Z             {
2026-06-15T08:25:24.6864919Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.6865195Z               "line": 660
2026-06-15T08:25:24.6865448Z             },
2026-06-15T08:25:24.6865711Z             {
2026-06-15T08:25:24.6866087Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6866484Z               "line": 118
2026-06-15T08:25:24.6866743Z             },
2026-06-15T08:25:24.6867000Z             {
2026-06-15T08:25:24.6867381Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6867658Z               "line": 347
2026-06-15T08:25:24.6867916Z             },
2026-06-15T08:25:24.6868177Z             {
2026-06-15T08:25:24.6868541Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6868810Z               "line": 389
2026-06-15T08:25:24.6869156Z             },
2026-06-15T08:25:24.6869418Z             {
2026-06-15T08:25:24.6869790Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6870057Z               "line": 403
2026-06-15T08:25:24.6870306Z             },
2026-06-15T08:25:24.6870567Z             {
2026-06-15T08:25:24.6870944Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6871216Z               "line": 492
2026-06-15T08:25:24.6871489Z             },
2026-06-15T08:25:24.6871744Z             {
2026-06-15T08:25:24.6872117Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6872394Z               "line": 507
2026-06-15T08:25:24.6872645Z             },
2026-06-15T08:25:24.6872907Z             {
2026-06-15T08:25:24.6873275Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6873551Z               "line": 534
2026-06-15T08:25:24.6873803Z             },
2026-06-15T08:25:24.6874060Z             {
2026-06-15T08:25:24.6874444Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6874721Z               "line": 207
2026-06-15T08:25:24.6874984Z             },
2026-06-15T08:25:24.6875241Z             {
2026-06-15T08:25:24.6875614Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6875895Z               "line": 755
2026-06-15T08:25:24.6876151Z             },
2026-06-15T08:25:24.6876414Z             {
2026-06-15T08:25:24.6876803Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6877082Z               "line": 816
2026-06-15T08:25:24.6877340Z             },
2026-06-15T08:25:24.6877603Z             {
2026-06-15T08:25:24.6877989Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6878261Z               "line": 869
2026-06-15T08:25:24.6878518Z             },
2026-06-15T08:25:24.6878772Z             {
2026-06-15T08:25:24.6879214Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6879485Z               "line": 891
2026-06-15T08:25:24.6879745Z             },
2026-06-15T08:25:24.6880011Z             {
2026-06-15T08:25:24.6880365Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6880636Z               "line": 122
2026-06-15T08:25:24.6880894Z             },
2026-06-15T08:25:24.6881156Z             {
2026-06-15T08:25:24.6881514Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6881790Z               "line": 44
2026-06-15T08:25:24.6882049Z             },
2026-06-15T08:25:24.6882309Z             {
2026-06-15T08:25:24.6882668Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6882944Z               "line": 184
2026-06-15T08:25:24.6883196Z             },
2026-06-15T08:25:24.6883462Z             {
2026-06-15T08:25:24.6883806Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6884083Z               "line": 211
2026-06-15T08:25:24.6884335Z             },
2026-06-15T08:25:24.6884592Z             {
2026-06-15T08:25:24.6884943Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6885320Z               "line": 251
2026-06-15T08:25:24.6885586Z             },
2026-06-15T08:25:24.6885845Z             {
2026-06-15T08:25:24.6886197Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6886460Z               "line": 275
2026-06-15T08:25:24.6886721Z             },
2026-06-15T08:25:24.6886974Z             {
2026-06-15T08:25:24.6887426Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6887705Z               "line": 289
2026-06-15T08:25:24.6887962Z             },
2026-06-15T08:25:24.6888229Z             {
2026-06-15T08:25:24.6888577Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6888854Z               "line": 300
2026-06-15T08:25:24.6889178Z             },
2026-06-15T08:25:24.6889436Z             {
2026-06-15T08:25:24.6889798Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6890068Z               "line": 313
2026-06-15T08:25:24.6890324Z             }
2026-06-15T08:25:24.6890581Z           ]
2026-06-15T08:25:24.6890843Z         },
2026-06-15T08:25:24.6891102Z         "int": {
2026-06-15T08:25:24.6891383Z           "complete": true,
2026-06-15T08:25:24.6891655Z           "evidence": [
2026-06-15T08:25:24.6891908Z             {
2026-06-15T08:25:24.6892308Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-15T08:25:24.6892595Z               "line": 116
2026-06-15T08:25:24.6892850Z             },
2026-06-15T08:25:24.6893107Z             {
2026-06-15T08:25:24.6893495Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-15T08:25:24.6893766Z               "line": 181
2026-06-15T08:25:24.6894023Z             }
2026-06-15T08:25:24.6894280Z           ]
2026-06-15T08:25:24.6894525Z         },
2026-06-15T08:25:24.6894787Z         "unit": {
2026-06-15T08:25:24.6895071Z           "complete": true,
2026-06-15T08:25:24.6895340Z           "evidence": [
2026-06-15T08:25:24.6895598Z             {
2026-06-15T08:25:24.6895979Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6896260Z               "line": 999
2026-06-15T08:25:24.6896509Z             },
2026-06-15T08:25:24.6896776Z             {
2026-06-15T08:25:24.6897152Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6897425Z               "line": 1016
2026-06-15T08:25:24.6897683Z             },
2026-06-15T08:25:24.6897943Z             {
2026-06-15T08:25:24.6898318Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6898594Z               "line": 1024
2026-06-15T08:25:24.6898856Z             },
2026-06-15T08:25:24.6899166Z             {
2026-06-15T08:25:24.6899543Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6899819Z               "line": 1048
2026-06-15T08:25:24.6900072Z             },
2026-06-15T08:25:24.6900334Z             {
2026-06-15T08:25:24.6900722Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.6900999Z               "line": 1499
2026-06-15T08:25:24.6901262Z             },
2026-06-15T08:25:24.6901515Z             {
2026-06-15T08:25:24.6901867Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6902144Z               "line": 347
2026-06-15T08:25:24.6902405Z             },
2026-06-15T08:25:24.6902658Z             {
2026-06-15T08:25:24.6903011Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6903295Z               "line": 370
2026-06-15T08:25:24.6903559Z             },
2026-06-15T08:25:24.6903817Z             {
2026-06-15T08:25:24.6904169Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6904441Z               "line": 407
2026-06-15T08:25:24.6904699Z             },
2026-06-15T08:25:24.6904960Z             {
2026-06-15T08:25:24.6905313Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6905588Z               "line": 431
2026-06-15T08:25:24.6905853Z             },
2026-06-15T08:25:24.6906102Z             {
2026-06-15T08:25:24.6906454Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6906839Z               "line": 483
2026-06-15T08:25:24.6907098Z             },
2026-06-15T08:25:24.6907360Z             {
2026-06-15T08:25:24.6907703Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6907985Z               "line": 499
2026-06-15T08:25:24.6908248Z             },
2026-06-15T08:25:24.6908608Z             {
2026-06-15T08:25:24.6909049Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6909326Z               "line": 514
2026-06-15T08:25:24.6909588Z             },
2026-06-15T08:25:24.6909851Z             {
2026-06-15T08:25:24.6910199Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6910471Z               "line": 531
2026-06-15T08:25:24.6910733Z             }
2026-06-15T08:25:24.6910993Z           ]
2026-06-15T08:25:24.6911244Z         }
2026-06-15T08:25:24.6911502Z       }
2026-06-15T08:25:24.6911755Z     },
2026-06-15T08:25:24.6912006Z     {
2026-06-15T08:25:24.6912283Z       "id": "REQ-MESH-3",
2026-06-15T08:25:24.6917019Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-15T08:25:24.6917324Z       "requiredStages": [
2026-06-15T08:25:24.6917582Z         "impl",
2026-06-15T08:25:24.6917854Z         "unit",
2026-06-15T08:25:24.6918111Z         "int"
2026-06-15T08:25:24.6918372Z       ],
2026-06-15T08:25:24.6918630Z       "stages": {
2026-06-15T08:25:24.6918884Z         "doc": {
2026-06-15T08:25:24.6919229Z           "complete": false,
2026-06-15T08:25:24.6919524Z           "evidence": []
2026-06-15T08:25:24.6919787Z         },
2026-06-15T08:25:24.6920049Z         "impl": {
2026-06-15T08:25:24.6920334Z           "complete": true,
2026-06-15T08:25:24.6920606Z           "evidence": [
2026-06-15T08:25:24.6920863Z             {
2026-06-15T08:25:24.6921250Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.6921554Z               "line": 641
2026-06-15T08:25:24.6921823Z             }
2026-06-15T08:25:24.6922082Z           ]
2026-06-15T08:25:24.6922334Z         },
2026-06-15T08:25:24.6922591Z         "int": {
2026-06-15T08:25:24.6922872Z           "complete": true,
2026-06-15T08:25:24.6923153Z           "evidence": [
2026-06-15T08:25:24.6923411Z             {
2026-06-15T08:25:24.6923773Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-15T08:25:24.6924045Z               "line": 373
2026-06-15T08:25:24.6924312Z             },
2026-06-15T08:25:24.6924583Z             {
2026-06-15T08:25:24.6924937Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-15T08:25:24.6925213Z               "line": 436
2026-06-15T08:25:24.6925470Z             }
2026-06-15T08:25:24.6925727Z           ]
2026-06-15T08:25:24.6925985Z         },
2026-06-15T08:25:24.6926247Z         "unit": {
2026-06-15T08:25:24.6926529Z           "complete": true,
2026-06-15T08:25:24.6926804Z           "evidence": [
2026-06-15T08:25:24.6927063Z             {
2026-06-15T08:25:24.6927422Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.6927703Z               "line": 910
2026-06-15T08:25:24.6927964Z             }
2026-06-15T08:25:24.6928223Z           ]
2026-06-15T08:25:24.6928475Z         }
2026-06-15T08:25:24.6928734Z       }
2026-06-15T08:25:24.6929072Z     },
2026-06-15T08:25:24.6929330Z     {
2026-06-15T08:25:24.6929613Z       "id": "REQ-MESH-4",
2026-06-15T08:25:24.6935859Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-15T08:25:24.6936374Z       "requiredStages": [
2026-06-15T08:25:24.6936645Z         "impl",
2026-06-15T08:25:24.6936893Z         "unit",
2026-06-15T08:25:24.6937150Z         "int"
2026-06-15T08:25:24.6937407Z       ],
2026-06-15T08:25:24.6937672Z       "stages": {
2026-06-15T08:25:24.6937939Z         "doc": {
2026-06-15T08:25:24.6938210Z           "complete": false,
2026-06-15T08:25:24.6938492Z           "evidence": []
2026-06-15T08:25:24.6938773Z         },
2026-06-15T08:25:24.6939093Z         "impl": {
2026-06-15T08:25:24.6939379Z           "complete": true,
2026-06-15T08:25:24.6939651Z           "evidence": [
2026-06-15T08:25:24.6939910Z             {
2026-06-15T08:25:24.6940311Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.6940602Z               "line": 33
2026-06-15T08:25:24.6940859Z             },
2026-06-15T08:25:24.6941120Z             {
2026-06-15T08:25:24.6941508Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6941783Z               "line": 68
2026-06-15T08:25:24.6942045Z             },
2026-06-15T08:25:24.6942302Z             {
2026-06-15T08:25:24.6942693Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6942962Z               "line": 111
2026-06-15T08:25:24.6943226Z             },
2026-06-15T08:25:24.6943483Z             {
2026-06-15T08:25:24.6943869Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6944145Z               "line": 462
2026-06-15T08:25:24.6944399Z             },
2026-06-15T08:25:24.6944665Z             {
2026-06-15T08:25:24.6945038Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6945324Z               "line": 711
2026-06-15T08:25:24.6945584Z             },
2026-06-15T08:25:24.6945851Z             {
2026-06-15T08:25:24.6946223Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6946489Z               "line": 725
2026-06-15T08:25:24.6946747Z             },
2026-06-15T08:25:24.6947006Z             {
2026-06-15T08:25:24.6947353Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.6947622Z               "line": 132
2026-06-15T08:25:24.6947876Z             },
2026-06-15T08:25:24.6948131Z             {
2026-06-15T08:25:24.6948489Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6948766Z               "line": 26
2026-06-15T08:25:24.6949099Z             },
2026-06-15T08:25:24.6949357Z             {
2026-06-15T08:25:24.6949729Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6949996Z               "line": 97
2026-06-15T08:25:24.6950253Z             },
2026-06-15T08:25:24.6950517Z             {
2026-06-15T08:25:24.6950876Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6951167Z               "line": 119
2026-06-15T08:25:24.6951414Z             },
2026-06-15T08:25:24.6951675Z             {
2026-06-15T08:25:24.6952029Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6952305Z               "line": 82
2026-06-15T08:25:24.6952563Z             },
2026-06-15T08:25:24.6952825Z             {
2026-06-15T08:25:24.6953177Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6953452Z               "line": 111
2026-06-15T08:25:24.6953704Z             },
2026-06-15T08:25:24.6953961Z             {
2026-06-15T08:25:24.6954315Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6954715Z               "line": 232
2026-06-15T08:25:24.6954983Z             },
2026-06-15T08:25:24.6955240Z             {
2026-06-15T08:25:24.6955593Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6955865Z               "line": 245
2026-06-15T08:25:24.6956125Z             },
2026-06-15T08:25:24.6956487Z             {
2026-06-15T08:25:24.6956797Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6957073Z               "line": 4214
2026-06-15T08:25:24.6957337Z             }
2026-06-15T08:25:24.6957589Z           ]
2026-06-15T08:25:24.6957852Z         },
2026-06-15T08:25:24.6958109Z         "int": {
2026-06-15T08:25:24.6958398Z           "complete": true,
2026-06-15T08:25:24.6958678Z           "evidence": [
2026-06-15T08:25:24.6958935Z             {
2026-06-15T08:25:24.6959383Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-15T08:25:24.6959655Z               "line": 98
2026-06-15T08:25:24.6959917Z             },
2026-06-15T08:25:24.6960175Z             {
2026-06-15T08:25:24.6960547Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-15T08:25:24.6960818Z               "line": 140
2026-06-15T08:25:24.6961077Z             }
2026-06-15T08:25:24.6961337Z           ]
2026-06-15T08:25:24.6961587Z         },
2026-06-15T08:25:24.6961850Z         "unit": {
2026-06-15T08:25:24.6962145Z           "complete": true,
2026-06-15T08:25:24.6962422Z           "evidence": [
2026-06-15T08:25:24.6962690Z             {
2026-06-15T08:25:24.6963080Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.6963352Z               "line": 178
2026-06-15T08:25:24.6963611Z             },
2026-06-15T08:25:24.6963870Z             {
2026-06-15T08:25:24.6964264Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.6964546Z               "line": 242
2026-06-15T08:25:24.6964817Z             },
2026-06-15T08:25:24.6965070Z             {
2026-06-15T08:25:24.6965461Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6965737Z               "line": 1079
2026-06-15T08:25:24.6966005Z             },
2026-06-15T08:25:24.6966257Z             {
2026-06-15T08:25:24.6966642Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6966924Z               "line": 1109
2026-06-15T08:25:24.6967182Z             },
2026-06-15T08:25:24.6967444Z             {
2026-06-15T08:25:24.6967816Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-15T08:25:24.6968093Z               "line": 1129
2026-06-15T08:25:24.6968345Z             },
2026-06-15T08:25:24.6968606Z             {
2026-06-15T08:25:24.6969083Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-15T08:25:24.6969362Z               "line": 602
2026-06-15T08:25:24.6969619Z             },
2026-06-15T08:25:24.6969871Z             {
2026-06-15T08:25:24.6970243Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6970510Z               "line": 148
2026-06-15T08:25:24.6970783Z             },
2026-06-15T08:25:24.6971045Z             {
2026-06-15T08:25:24.6971402Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6971688Z               "line": 169
2026-06-15T08:25:24.6971945Z             },
2026-06-15T08:25:24.6972205Z             {
2026-06-15T08:25:24.6972578Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6972854Z               "line": 181
2026-06-15T08:25:24.6973115Z             },
2026-06-15T08:25:24.6973373Z             {
2026-06-15T08:25:24.6973745Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-15T08:25:24.6974007Z               "line": 202
2026-06-15T08:25:24.6974265Z             },
2026-06-15T08:25:24.6974530Z             {
2026-06-15T08:25:24.6974882Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6975159Z               "line": 375
2026-06-15T08:25:24.6975416Z             },
2026-06-15T08:25:24.6975677Z             {
2026-06-15T08:25:24.6976140Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.6976413Z               "line": 407
2026-06-15T08:25:24.6976675Z             },
2026-06-15T08:25:24.6976927Z             {
2026-06-15T08:25:24.6977259Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.6977536Z               "line": 8308
2026-06-15T08:25:24.6977893Z             }
2026-06-15T08:25:24.6978156Z           ]
2026-06-15T08:25:24.6978414Z         }
2026-06-15T08:25:24.6978667Z       }
2026-06-15T08:25:24.6978920Z     },
2026-06-15T08:25:24.6979239Z     {
2026-06-15T08:25:24.6979518Z       "id": "REQ-MESH-5",
2026-06-15T08:25:24.6983476Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-15T08:25:24.6983787Z       "requiredStages": [
2026-06-15T08:25:24.6984044Z         "impl",
2026-06-15T08:25:24.6984315Z         "unit"
2026-06-15T08:25:24.6984572Z       ],
2026-06-15T08:25:24.6984839Z       "stages": {
2026-06-15T08:25:24.6985109Z         "doc": {
2026-06-15T08:25:24.6985404Z           "complete": false,
2026-06-15T08:25:24.6985686Z           "evidence": []
2026-06-15T08:25:24.6985937Z         },
2026-06-15T08:25:24.6986199Z         "impl": {
2026-06-15T08:25:24.6986476Z           "complete": true,
2026-06-15T08:25:24.6986753Z           "evidence": [
2026-06-15T08:25:24.6987020Z             {
2026-06-15T08:25:24.6987401Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.6987683Z               "line": 61
2026-06-15T08:25:24.6987944Z             },
2026-06-15T08:25:24.6988206Z             {
2026-06-15T08:25:24.6988569Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.6988888Z               "line": 109
2026-06-15T08:25:24.6989203Z             },
2026-06-15T08:25:24.6989465Z             {
2026-06-15T08:25:24.6989838Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.6990122Z               "line": 104
2026-06-15T08:25:24.6990396Z             },
2026-06-15T08:25:24.6990649Z             {
2026-06-15T08:25:24.6991025Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.6991297Z               "line": 105
2026-06-15T08:25:24.6991555Z             },
2026-06-15T08:25:24.6991808Z             {
2026-06-15T08:25:24.6992203Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6992476Z               "line": 85
2026-06-15T08:25:24.6992724Z             },
2026-06-15T08:25:24.6992979Z             {
2026-06-15T08:25:24.6993359Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6993640Z               "line": 250
2026-06-15T08:25:24.6993897Z             },
2026-06-15T08:25:24.6994155Z             {
2026-06-15T08:25:24.6994546Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6994817Z               "line": 314
2026-06-15T08:25:24.6995074Z             },
2026-06-15T08:25:24.6995338Z             {
2026-06-15T08:25:24.6995734Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.6996008Z               "line": 715
2026-06-15T08:25:24.6996265Z             },
2026-06-15T08:25:24.6996522Z             {
2026-06-15T08:25:24.6996870Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.6997146Z               "line": 101
2026-06-15T08:25:24.6997408Z             },
2026-06-15T08:25:24.6997666Z             {
2026-06-15T08:25:24.6998023Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.6998304Z               "line": 193
2026-06-15T08:25:24.6998562Z             }
2026-06-15T08:25:24.6998819Z           ]
2026-06-15T08:25:24.6999262Z         },
2026-06-15T08:25:24.6999534Z         "int": {
2026-06-15T08:25:24.6999811Z           "complete": false,
2026-06-15T08:25:24.7000097Z           "evidence": []
2026-06-15T08:25:24.7000345Z         },
2026-06-15T08:25:24.7000615Z         "unit": {
2026-06-15T08:25:24.7000894Z           "complete": true,
2026-06-15T08:25:24.7001290Z           "evidence": [
2026-06-15T08:25:24.7001552Z             {
2026-06-15T08:25:24.7001943Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7002219Z               "line": 957
2026-06-15T08:25:24.7002477Z             },
2026-06-15T08:25:24.7002735Z             {
2026-06-15T08:25:24.7003073Z               "path": "crates/spt-store/src/roster.rs",
2026-06-15T08:25:24.7003346Z               "line": 462
2026-06-15T08:25:24.7003601Z             }
2026-06-15T08:25:24.7003856Z           ]
2026-06-15T08:25:24.7004114Z         }
2026-06-15T08:25:24.7004363Z       }
2026-06-15T08:25:24.7004611Z     },
2026-06-15T08:25:24.7004868Z     {
2026-06-15T08:25:24.7005144Z       "id": "REQ-MESH-6",
2026-06-15T08:25:24.7008588Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-15T08:25:24.7008878Z       "requiredStages": [
2026-06-15T08:25:24.7009221Z         "impl",
2026-06-15T08:25:24.7009484Z         "unit"
2026-06-15T08:25:24.7009741Z       ],
2026-06-15T08:25:24.7010009Z       "stages": {
2026-06-15T08:25:24.7010261Z         "doc": {
2026-06-15T08:25:24.7010551Z           "complete": false,
2026-06-15T08:25:24.7010823Z           "evidence": []
2026-06-15T08:25:24.7011085Z         },
2026-06-15T08:25:24.7011337Z         "impl": {
2026-06-15T08:25:24.7011626Z           "complete": true,
2026-06-15T08:25:24.7011922Z           "evidence": [
2026-06-15T08:25:24.7012174Z             {
2026-06-15T08:25:24.7012504Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7012784Z               "line": 3737
2026-06-15T08:25:24.7013042Z             }
2026-06-15T08:25:24.7013305Z           ]
2026-06-15T08:25:24.7013596Z         },
2026-06-15T08:25:24.7013868Z         "int": {
2026-06-15T08:25:24.7014153Z           "complete": false,
2026-06-15T08:25:24.7014436Z           "evidence": []
2026-06-15T08:25:24.7014678Z         },
2026-06-15T08:25:24.7014946Z         "unit": {
2026-06-15T08:25:24.7015228Z           "complete": true,
2026-06-15T08:25:24.7015505Z           "evidence": [
2026-06-15T08:25:24.7015772Z             {
2026-06-15T08:25:24.7016091Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7016369Z               "line": 8838
2026-06-15T08:25:24.7016623Z             },
2026-06-15T08:25:24.7016883Z             {
2026-06-15T08:25:24.7017193Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7017471Z               "line": 8865
2026-06-15T08:25:24.7017728Z             },
2026-06-15T08:25:24.7017990Z             {
2026-06-15T08:25:24.7018315Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7018581Z               "line": 8889
2026-06-15T08:25:24.7018833Z             }
2026-06-15T08:25:24.7022400Z           ]
2026-06-15T08:25:24.7022691Z         }
2026-06-15T08:25:24.7022963Z       }
2026-06-15T08:25:24.7023221Z     },
2026-06-15T08:25:24.7023488Z     {
2026-06-15T08:25:24.7023794Z       "id": "REQ-MIGRATE-1",
2026-06-15T08:25:24.7024328Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-15T08:25:24.7024626Z       "requiredStages": [],
2026-06-15T08:25:24.7024901Z       "stages": {
2026-06-15T08:25:24.7025163Z         "doc": {
2026-06-15T08:25:24.7025449Z           "complete": false,
2026-06-15T08:25:24.7025726Z           "evidence": []
2026-06-15T08:25:24.7025979Z         },
2026-06-15T08:25:24.7026408Z         "impl": {
2026-06-15T08:25:24.7026695Z           "complete": false,
2026-06-15T08:25:24.7026966Z           "evidence": []
2026-06-15T08:25:24.7027226Z         },
2026-06-15T08:25:24.7027481Z         "int": {
2026-06-15T08:25:24.7027763Z           "complete": false,
2026-06-15T08:25:24.7028041Z           "evidence": []
2026-06-15T08:25:24.7028398Z         },
2026-06-15T08:25:24.7028655Z         "unit": {
2026-06-15T08:25:24.7029022Z           "complete": false,
2026-06-15T08:25:24.7029294Z           "evidence": []
2026-06-15T08:25:24.7029553Z         }
2026-06-15T08:25:24.7029820Z       }
2026-06-15T08:25:24.7030070Z     },
2026-06-15T08:25:24.7030327Z     {
2026-06-15T08:25:24.7030605Z       "id": "REQ-MSG-1",
2026-06-15T08:25:24.7032001Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-15T08:25:24.7032295Z       "requiredStages": [
2026-06-15T08:25:24.7032565Z         "impl",
2026-06-15T08:25:24.7032823Z         "unit",
2026-06-15T08:25:24.7033076Z         "int"
2026-06-15T08:25:24.7033338Z       ],
2026-06-15T08:25:24.7033604Z       "stages": {
2026-06-15T08:25:24.7033862Z         "doc": {
2026-06-15T08:25:24.7034153Z           "complete": false,
2026-06-15T08:25:24.7034415Z           "evidence": []
2026-06-15T08:25:24.7034683Z         },
2026-06-15T08:25:24.7034936Z         "impl": {
2026-06-15T08:25:24.7035229Z           "complete": true,
2026-06-15T08:25:24.7035493Z           "evidence": [
2026-06-15T08:25:24.7035752Z             {
2026-06-15T08:25:24.7036114Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7036381Z               "line": 28
2026-06-15T08:25:24.7036643Z             },
2026-06-15T08:25:24.7036902Z             {
2026-06-15T08:25:24.7037250Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7037522Z               "line": 94
2026-06-15T08:25:24.7037782Z             },
2026-06-15T08:25:24.7038051Z             {
2026-06-15T08:25:24.7038399Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7038676Z               "line": 127
2026-06-15T08:25:24.7038934Z             },
2026-06-15T08:25:24.7039310Z             {
2026-06-15T08:25:24.7039663Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7039945Z               "line": 149
2026-06-15T08:25:24.7040192Z             },
2026-06-15T08:25:24.7040451Z             {
2026-06-15T08:25:24.7040803Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7041075Z               "line": 174
2026-06-15T08:25:24.7041332Z             },
2026-06-15T08:25:24.7041588Z             {
2026-06-15T08:25:24.7041946Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7042218Z               "line": 18
2026-06-15T08:25:24.7042475Z             },
2026-06-15T08:25:24.7042733Z             {
2026-06-15T08:25:24.7043064Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.7043340Z               "line": 13
2026-06-15T08:25:24.7043602Z             },
2026-06-15T08:25:24.7043874Z             {
2026-06-15T08:25:24.7044208Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.7044484Z               "line": 61
2026-06-15T08:25:24.7044741Z             },
2026-06-15T08:25:24.7044999Z             {
2026-06-15T08:25:24.7045337Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-15T08:25:24.7045605Z               "line": 10
2026-06-15T08:25:24.7045861Z             }
2026-06-15T08:25:24.7046116Z           ]
2026-06-15T08:25:24.7046374Z         },
2026-06-15T08:25:24.7046640Z         "int": {
2026-06-15T08:25:24.7046923Z           "complete": true,
2026-06-15T08:25:24.7047199Z           "evidence": [
2026-06-15T08:25:24.7047457Z             {
2026-06-15T08:25:24.7047871Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-15T08:25:24.7048148Z               "line": 9
2026-06-15T08:25:24.7048404Z             },
2026-06-15T08:25:24.7048818Z             {
2026-06-15T08:25:24.7049308Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-15T08:25:24.7049583Z               "line": 70
2026-06-15T08:25:24.7049837Z             },
2026-06-15T08:25:24.7050099Z             {
2026-06-15T08:25:24.7050514Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-15T08:25:24.7050892Z               "line": 129
2026-06-15T08:25:24.7051157Z             }
2026-06-15T08:25:24.7051405Z           ]
2026-06-15T08:25:24.7051658Z         },
2026-06-15T08:25:24.7051925Z         "unit": {
2026-06-15T08:25:24.7052201Z           "complete": true,
2026-06-15T08:25:24.7052473Z           "evidence": [
2026-06-15T08:25:24.7052731Z             {
2026-06-15T08:25:24.7053083Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7053354Z               "line": 203
2026-06-15T08:25:24.7053625Z             },
2026-06-15T08:25:24.7053877Z             {
2026-06-15T08:25:24.7054225Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7054511Z               "line": 232
2026-06-15T08:25:24.7054764Z             },
2026-06-15T08:25:24.7055020Z             {
2026-06-15T08:25:24.7055364Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7055635Z               "line": 277
2026-06-15T08:25:24.7055897Z             },
2026-06-15T08:25:24.7056156Z             {
2026-06-15T08:25:24.7056506Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7056772Z               "line": 300
2026-06-15T08:25:24.7057040Z             },
2026-06-15T08:25:24.7057296Z             {
2026-06-15T08:25:24.7057645Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-15T08:25:24.7057925Z               "line": 324
2026-06-15T08:25:24.7058178Z             },
2026-06-15T08:25:24.7058440Z             {
2026-06-15T08:25:24.7058793Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7059124Z               "line": 203
2026-06-15T08:25:24.7059387Z             },
2026-06-15T08:25:24.7059649Z             {
2026-06-15T08:25:24.7060002Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7060269Z               "line": 236
2026-06-15T08:25:24.7060536Z             },
2026-06-15T08:25:24.7060783Z             {
2026-06-15T08:25:24.7061142Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7061418Z               "line": 250
2026-06-15T08:25:24.7061674Z             },
2026-06-15T08:25:24.7061928Z             {
2026-06-15T08:25:24.7062280Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7062557Z               "line": 262
2026-06-15T08:25:24.7062814Z             },
2026-06-15T08:25:24.7063071Z             {
2026-06-15T08:25:24.7063406Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.7063677Z               "line": 158
2026-06-15T08:25:24.7063933Z             },
2026-06-15T08:25:24.7064185Z             {
2026-06-15T08:25:24.7064522Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-15T08:25:24.7064799Z               "line": 241
2026-06-15T08:25:24.7065062Z             },
2026-06-15T08:25:24.7065314Z             {
2026-06-15T08:25:24.7065643Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-15T08:25:24.7065914Z               "line": 68
2026-06-15T08:25:24.7066167Z             },
2026-06-15T08:25:24.7066448Z             {
2026-06-15T08:25:24.7066805Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-15T08:25:24.7067112Z               "line": 77
2026-06-15T08:25:24.7067404Z             },
2026-06-15T08:25:24.7067680Z             {
2026-06-15T08:25:24.7068024Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-15T08:25:24.7068296Z               "line": 83
2026-06-15T08:25:24.7068563Z             },
2026-06-15T08:25:24.7068815Z             {
2026-06-15T08:25:24.7069241Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-15T08:25:24.7069529Z               "line": 102
2026-06-15T08:25:24.7069784Z             }
2026-06-15T08:25:24.7070271Z           ]
2026-06-15T08:25:24.7070528Z         }
2026-06-15T08:25:24.7070791Z       }
2026-06-15T08:25:24.7071048Z     },
2026-06-15T08:25:24.7071305Z     {
2026-06-15T08:25:24.7071577Z       "id": "REQ-MSG-2",
2026-06-15T08:25:24.7072402Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-15T08:25:24.7072802Z       "requiredStages": [
2026-06-15T08:25:24.7073060Z         "impl",
2026-06-15T08:25:24.7073361Z         "unit"
2026-06-15T08:25:24.7073685Z       ],
2026-06-15T08:25:24.7073951Z       "stages": {
2026-06-15T08:25:24.7074217Z         "doc": {
2026-06-15T08:25:24.7074551Z           "complete": false,
2026-06-15T08:25:24.7074824Z           "evidence": []
2026-06-15T08:25:24.7075097Z         },
2026-06-15T08:25:24.7075407Z         "impl": {
2026-06-15T08:25:24.7075693Z           "complete": true,
2026-06-15T08:25:24.7075989Z           "evidence": [
2026-06-15T08:25:24.7076337Z             {
2026-06-15T08:25:24.7076718Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7077099Z               "line": 11
2026-06-15T08:25:24.7077389Z             },
2026-06-15T08:25:24.7077654Z             {
2026-06-15T08:25:24.7078044Z               "path": "crates/spt/src/main.rs",
2026-06-15T08:25:24.7078364Z               "line": 8
2026-06-15T08:25:24.7078627Z             }
2026-06-15T08:25:24.7078927Z           ]
2026-06-15T08:25:24.7079361Z         },
2026-06-15T08:25:24.7079632Z         "int": {
2026-06-15T08:25:24.7080027Z           "complete": false,
2026-06-15T08:25:24.7080297Z           "evidence": []
2026-06-15T08:25:24.7080554Z         },
2026-06-15T08:25:24.7080878Z         "unit": {
2026-06-15T08:25:24.7081264Z           "complete": true,
2026-06-15T08:25:24.7081565Z           "evidence": [
2026-06-15T08:25:24.7081842Z             {
2026-06-15T08:25:24.7082175Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7082442Z               "line": 6213
2026-06-15T08:25:24.7082701Z             },
2026-06-15T08:25:24.7082966Z             {
2026-06-15T08:25:24.7083291Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7083557Z               "line": 6255
2026-06-15T08:25:24.7083815Z             },
2026-06-15T08:25:24.7084072Z             {
2026-06-15T08:25:24.7084392Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7084673Z               "line": 6304
2026-06-15T08:25:24.7084940Z             },
2026-06-15T08:25:24.7085206Z             {
2026-06-15T08:25:24.7085528Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7085799Z               "line": 6327
2026-06-15T08:25:24.7086066Z             },
2026-06-15T08:25:24.7086314Z             {
2026-06-15T08:25:24.7086639Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7086906Z               "line": 8063
2026-06-15T08:25:24.7087164Z             },
2026-06-15T08:25:24.7087422Z             {
2026-06-15T08:25:24.7087742Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7088020Z               "line": 8072
2026-06-15T08:25:24.7088275Z             },
2026-06-15T08:25:24.7088548Z             {
2026-06-15T08:25:24.7088867Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7089238Z               "line": 8086
2026-06-15T08:25:24.7089502Z             }
2026-06-15T08:25:24.7089764Z           ]
2026-06-15T08:25:24.7090027Z         }
2026-06-15T08:25:24.7090280Z       }
2026-06-15T08:25:24.7090535Z     },
2026-06-15T08:25:24.7090790Z     {
2026-06-15T08:25:24.7091073Z       "id": "REQ-MSG-3",
2026-06-15T08:25:24.7092265Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-15T08:25:24.7092546Z       "requiredStages": [
2026-06-15T08:25:24.7092812Z         "impl",
2026-06-15T08:25:24.7093064Z         "unit",
2026-06-15T08:25:24.7093321Z         "int"
2026-06-15T08:25:24.7093584Z       ],
2026-06-15T08:25:24.7093851Z       "stages": {
2026-06-15T08:25:24.7094108Z         "doc": {
2026-06-15T08:25:24.7094519Z           "complete": false,
2026-06-15T08:25:24.7094800Z           "evidence": []
2026-06-15T08:25:24.7095052Z         },
2026-06-15T08:25:24.7095324Z         "impl": {
2026-06-15T08:25:24.7095604Z           "complete": true,
2026-06-15T08:25:24.7095874Z           "evidence": [
2026-06-15T08:25:24.7096127Z             {
2026-06-15T08:25:24.7096584Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-15T08:25:24.7096860Z               "line": 19
2026-06-15T08:25:24.7097118Z             },
2026-06-15T08:25:24.7097376Z             {
2026-06-15T08:25:24.7097720Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7097992Z               "line": 21
2026-06-15T08:25:24.7098259Z             },
2026-06-15T08:25:24.7098514Z             {
2026-06-15T08:25:24.7098850Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7099213Z               "line": 48
2026-06-15T08:25:24.7099488Z             },
2026-06-15T08:25:24.7099747Z             {
2026-06-15T08:25:24.7100090Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7100366Z               "line": 142
2026-06-15T08:25:24.7100634Z             }
2026-06-15T08:25:24.7100887Z           ]
2026-06-15T08:25:24.7101142Z         },
2026-06-15T08:25:24.7101412Z         "int": {
2026-06-15T08:25:24.7101698Z           "complete": true,
2026-06-15T08:25:24.7101962Z           "evidence": [
2026-06-15T08:25:24.7102224Z             {
2026-06-15T08:25:24.7102643Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-15T08:25:24.7102914Z               "line": 10
2026-06-15T08:25:24.7103173Z             },
2026-06-15T08:25:24.7103426Z             {
2026-06-15T08:25:24.7103835Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-15T08:25:24.7104106Z               "line": 70
2026-06-15T08:25:24.7104363Z             }
2026-06-15T08:25:24.7104620Z           ]
2026-06-15T08:25:24.7104882Z         },
2026-06-15T08:25:24.7105140Z         "unit": {
2026-06-15T08:25:24.7105426Z           "complete": true,
2026-06-15T08:25:24.7105704Z           "evidence": [
2026-06-15T08:25:24.7105961Z             {
2026-06-15T08:25:24.7106297Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7106571Z               "line": 196
2026-06-15T08:25:24.7106834Z             },
2026-06-15T08:25:24.7107092Z             {
2026-06-15T08:25:24.7107439Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7107721Z               "line": 215
2026-06-15T08:25:24.7107979Z             },
2026-06-15T08:25:24.7108237Z             {
2026-06-15T08:25:24.7108581Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-15T08:25:24.7108862Z               "line": 237
2026-06-15T08:25:24.7109236Z             }
2026-06-15T08:25:24.7109535Z           ]
2026-06-15T08:25:24.7109792Z         }
2026-06-15T08:25:24.7110049Z       }
2026-06-15T08:25:24.7110298Z     },
2026-06-15T08:25:24.7110550Z     {
2026-06-15T08:25:24.7110827Z       "id": "REQ-MSG-4",
2026-06-15T08:25:24.7113169Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-15T08:25:24.7113460Z       "requiredStages": [
2026-06-15T08:25:24.7113733Z         "impl",
2026-06-15T08:25:24.7113986Z         "unit",
2026-06-15T08:25:24.7114248Z         "int"
2026-06-15T08:25:24.7114503Z       ],
2026-06-15T08:25:24.7114780Z       "stages": {
2026-06-15T08:25:24.7115042Z         "doc": {
2026-06-15T08:25:24.7115320Z           "complete": false,
2026-06-15T08:25:24.7115601Z           "evidence": []
2026-06-15T08:25:24.7115857Z         },
2026-06-15T08:25:24.7116129Z         "impl": {
2026-06-15T08:25:24.7116411Z           "complete": true,
2026-06-15T08:25:24.7116686Z           "evidence": [
2026-06-15T08:25:24.7116953Z             {
2026-06-15T08:25:24.7117295Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7117704Z               "line": 16
2026-06-15T08:25:24.7117953Z             },
2026-06-15T08:25:24.7118215Z             {
2026-06-15T08:25:24.7118548Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7118812Z               "line": 25
2026-06-15T08:25:24.7119146Z             },
2026-06-15T08:25:24.7119549Z             {
2026-06-15T08:25:24.7119894Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7120167Z               "line": 47
2026-06-15T08:25:24.7120420Z             },
2026-06-15T08:25:24.7120667Z             {
2026-06-15T08:25:24.7121030Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.7121306Z               "line": 405
2026-06-15T08:25:24.7121568Z             },
2026-06-15T08:25:24.7121820Z             {
2026-06-15T08:25:24.7122140Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7122419Z               "line": 2709
2026-06-15T08:25:24.7122676Z             }
2026-06-15T08:25:24.7122948Z           ]
2026-06-15T08:25:24.7123209Z         },
2026-06-15T08:25:24.7123467Z         "int": {
2026-06-15T08:25:24.7123749Z           "complete": true,
2026-06-15T08:25:24.7124025Z           "evidence": [
2026-06-15T08:25:24.7124293Z             {
2026-06-15T08:25:24.7124668Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-15T08:25:24.7124941Z               "line": 98
2026-06-15T08:25:24.7125211Z             },
2026-06-15T08:25:24.7125464Z             {
2026-06-15T08:25:24.7125841Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-15T08:25:24.7126108Z               "line": 128
2026-06-15T08:25:24.7126364Z             }
2026-06-15T08:25:24.7126623Z           ]
2026-06-15T08:25:24.7126881Z         },
2026-06-15T08:25:24.7127144Z         "unit": {
2026-06-15T08:25:24.7127423Z           "complete": true,
2026-06-15T08:25:24.7127706Z           "evidence": [
2026-06-15T08:25:24.7127959Z             {
2026-06-15T08:25:24.7128302Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7128565Z               "line": 62
2026-06-15T08:25:24.7128827Z             },
2026-06-15T08:25:24.7129137Z             {
2026-06-15T08:25:24.7129475Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7129748Z               "line": 73
2026-06-15T08:25:24.7130006Z             },
2026-06-15T08:25:24.7130261Z             {
2026-06-15T08:25:24.7130588Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7130855Z               "line": 84
2026-06-15T08:25:24.7131103Z             },
2026-06-15T08:25:24.7131356Z             {
2026-06-15T08:25:24.7131689Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7131962Z               "line": 96
2026-06-15T08:25:24.7132215Z             },
2026-06-15T08:25:24.7132476Z             {
2026-06-15T08:25:24.7132794Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7133069Z               "line": 121
2026-06-15T08:25:24.7133322Z             },
2026-06-15T08:25:24.7133580Z             {
2026-06-15T08:25:24.7133908Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7134181Z               "line": 136
2026-06-15T08:25:24.7134438Z             }
2026-06-15T08:25:24.7134695Z           ]
2026-06-15T08:25:24.7134957Z         }
2026-06-15T08:25:24.7135214Z       }
2026-06-15T08:25:24.7135464Z     },
2026-06-15T08:25:24.7135719Z     {
2026-06-15T08:25:24.7135995Z       "id": "REQ-MSG-5",
2026-06-15T08:25:24.7138276Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-15T08:25:24.7138562Z       "requiredStages": [
2026-06-15T08:25:24.7138833Z         "doc",
2026-06-15T08:25:24.7139139Z         "impl",
2026-06-15T08:25:24.7139412Z         "unit"
2026-06-15T08:25:24.7139664Z       ],
2026-06-15T08:25:24.7140035Z       "stages": {
2026-06-15T08:25:24.7140304Z         "doc": {
2026-06-15T08:25:24.7140581Z           "complete": true,
2026-06-15T08:25:24.7140860Z           "evidence": [
2026-06-15T08:25:24.7141114Z             {
2026-06-15T08:25:24.7141415Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7141672Z               "line": 212
2026-06-15T08:25:24.7142034Z             }
2026-06-15T08:25:24.7142298Z           ]
2026-06-15T08:25:24.7142559Z         },
2026-06-15T08:25:24.7142818Z         "impl": {
2026-06-15T08:25:24.7143094Z           "complete": true,
2026-06-15T08:25:24.7143373Z           "evidence": [
2026-06-15T08:25:24.7143634Z             {
2026-06-15T08:25:24.7143981Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.7144268Z               "line": 60
2026-06-15T08:25:24.7144535Z             },
2026-06-15T08:25:24.7144793Z             {
2026-06-15T08:25:24.7145145Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7145422Z               "line": 118
2026-06-15T08:25:24.7145686Z             },
2026-06-15T08:25:24.7145948Z             {
2026-06-15T08:25:24.7146308Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7146575Z               "line": 127
2026-06-15T08:25:24.7146827Z             },
2026-06-15T08:25:24.7147086Z             {
2026-06-15T08:25:24.7147438Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7147719Z               "line": 141
2026-06-15T08:25:24.7147987Z             },
2026-06-15T08:25:24.7148245Z             {
2026-06-15T08:25:24.7148595Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7148875Z               "line": 170
2026-06-15T08:25:24.7149204Z             },
2026-06-15T08:25:24.7149475Z             {
2026-06-15T08:25:24.7149790Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7150066Z               "line": 2458
2026-06-15T08:25:24.7150324Z             }
2026-06-15T08:25:24.7150577Z           ]
2026-06-15T08:25:24.7150840Z         },
2026-06-15T08:25:24.7151103Z         "int": {
2026-06-15T08:25:24.7151391Z           "complete": true,
2026-06-15T08:25:24.7151655Z           "evidence": [
2026-06-15T08:25:24.7151918Z             {
2026-06-15T08:25:24.7152270Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-15T08:25:24.7152543Z               "line": 19
2026-06-15T08:25:24.7152810Z             }
2026-06-15T08:25:24.7153068Z           ]
2026-06-15T08:25:24.7153326Z         },
2026-06-15T08:25:24.7153592Z         "unit": {
2026-06-15T08:25:24.7153877Z           "complete": true,
2026-06-15T08:25:24.7154160Z           "evidence": [
2026-06-15T08:25:24.7154414Z             {
2026-06-15T08:25:24.7154757Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.7155024Z               "line": 192
2026-06-15T08:25:24.7155287Z             },
2026-06-15T08:25:24.7155538Z             {
2026-06-15T08:25:24.7155897Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-15T08:25:24.7156178Z               "line": 154
2026-06-15T08:25:24.7156440Z             },
2026-06-15T08:25:24.7156701Z             {
2026-06-15T08:25:24.7157035Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-15T08:25:24.7157317Z               "line": 105
2026-06-15T08:25:24.7157574Z             },
2026-06-15T08:25:24.7157832Z             {
2026-06-15T08:25:24.7158171Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7158447Z               "line": 444
2026-06-15T08:25:24.7158713Z             },
2026-06-15T08:25:24.7159008Z             {
2026-06-15T08:25:24.7159353Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7159639Z               "line": 493
2026-06-15T08:25:24.7159897Z             },
2026-06-15T08:25:24.7160155Z             {
2026-06-15T08:25:24.7160494Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7160775Z               "line": 509
2026-06-15T08:25:24.7161033Z             },
2026-06-15T08:25:24.7161300Z             {
2026-06-15T08:25:24.7161771Z               "path": "crates/spt-proto/src/event.rs",
2026-06-15T08:25:24.7162042Z               "line": 528
2026-06-15T08:25:24.7162292Z             },
2026-06-15T08:25:24.7162554Z             {
2026-06-15T08:25:24.7162873Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7163150Z               "line": 6156
2026-06-15T08:25:24.7163508Z             }
2026-06-15T08:25:24.7163771Z           ]
2026-06-15T08:25:24.7164028Z         }
2026-06-15T08:25:24.7164286Z       }
2026-06-15T08:25:24.7164542Z     },
2026-06-15T08:25:24.7164797Z     {
2026-06-15T08:25:24.7165068Z       "id": "REQ-MSG-6",
2026-06-15T08:25:24.7169673Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-15T08:25:24.7169971Z       "requiredStages": [
2026-06-15T08:25:24.7170228Z         "doc",
2026-06-15T08:25:24.7170495Z         "impl",
2026-06-15T08:25:24.7170753Z         "unit"
2026-06-15T08:25:24.7171006Z       ],
2026-06-15T08:25:24.7171274Z       "stages": {
2026-06-15T08:25:24.7171535Z         "doc": {
2026-06-15T08:25:24.7171816Z           "complete": true,
2026-06-15T08:25:24.7172078Z           "evidence": [
2026-06-15T08:25:24.7172336Z             {
2026-06-15T08:25:24.7172620Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7172900Z               "line": 215
2026-06-15T08:25:24.7173157Z             }
2026-06-15T08:25:24.7173414Z           ]
2026-06-15T08:25:24.7173677Z         },
2026-06-15T08:25:24.7173944Z         "impl": {
2026-06-15T08:25:24.7174231Z           "complete": true,
2026-06-15T08:25:24.7174493Z           "evidence": [
2026-06-15T08:25:24.7174785Z             {
2026-06-15T08:25:24.7175187Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7175462Z               "line": 177
2026-06-15T08:25:24.7175719Z             },
2026-06-15T08:25:24.7175981Z             {
2026-06-15T08:25:24.7176374Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7176654Z               "line": 422
2026-06-15T08:25:24.7176911Z             },
2026-06-15T08:25:24.7177173Z             {
2026-06-15T08:25:24.7177560Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7177840Z               "line": 445
2026-06-15T08:25:24.7178104Z             },
2026-06-15T08:25:24.7178361Z             {
2026-06-15T08:25:24.7178694Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.7179032Z               "line": 89
2026-06-15T08:25:24.7179310Z             },
2026-06-15T08:25:24.7179567Z             {
2026-06-15T08:25:24.7179935Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.7180209Z               "line": 155
2026-06-15T08:25:24.7180473Z             }
2026-06-15T08:25:24.7180736Z           ]
2026-06-15T08:25:24.7180994Z         },
2026-06-15T08:25:24.7181261Z         "int": {
2026-06-15T08:25:24.7181538Z           "complete": false,
2026-06-15T08:25:24.7181814Z           "evidence": []
2026-06-15T08:25:24.7182075Z         },
2026-06-15T08:25:24.7182334Z         "unit": {
2026-06-15T08:25:24.7182614Z           "complete": true,
2026-06-15T08:25:24.7182887Z           "evidence": [
2026-06-15T08:25:24.7183143Z             {
2026-06-15T08:25:24.7183537Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7183809Z               "line": 1639
2026-06-15T08:25:24.7184062Z             },
2026-06-15T08:25:24.7184318Z             {
2026-06-15T08:25:24.7184662Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.7184933Z               "line": 219
2026-06-15T08:25:24.7185186Z             }
2026-06-15T08:25:24.7185557Z           ]
2026-06-15T08:25:24.7185822Z         }
2026-06-15T08:25:24.7186075Z       }
2026-06-15T08:25:24.7186333Z     },
2026-06-15T08:25:24.7186585Z     {
2026-06-15T08:25:24.7186856Z       "id": "REQ-NET-1",
2026-06-15T08:25:24.7187410Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-15T08:25:24.7187791Z       "requiredStages": [
2026-06-15T08:25:24.7188048Z         "impl",
2026-06-15T08:25:24.7188302Z         "unit",
2026-06-15T08:25:24.7188572Z         "int"
2026-06-15T08:25:24.7188824Z       ],
2026-06-15T08:25:24.7189169Z       "stages": {
2026-06-15T08:25:24.7189449Z         "doc": {
2026-06-15T08:25:24.7189730Z           "complete": false,
2026-06-15T08:25:24.7190012Z           "evidence": []
2026-06-15T08:25:24.7190269Z         },
2026-06-15T08:25:24.7190538Z         "impl": {
2026-06-15T08:25:24.7190812Z           "complete": true,
2026-06-15T08:25:24.7191096Z           "evidence": [
2026-06-15T08:25:24.7191358Z             {
2026-06-15T08:25:24.7191730Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7192001Z               "line": 54
2026-06-15T08:25:24.7192264Z             },
2026-06-15T08:25:24.7192517Z             {
2026-06-15T08:25:24.7192894Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7193160Z               "line": 594
2026-06-15T08:25:24.7193428Z             },
2026-06-15T08:25:24.7193689Z             {
2026-06-15T08:25:24.7194045Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-15T08:25:24.7194312Z               "line": 130
2026-06-15T08:25:24.7194568Z             },
2026-06-15T08:25:24.7194835Z             {
2026-06-15T08:25:24.7195207Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7195489Z               "line": 97
2026-06-15T08:25:24.7195755Z             },
2026-06-15T08:25:24.7196018Z             {
2026-06-15T08:25:24.7196382Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7196669Z               "line": 159
2026-06-15T08:25:24.7196936Z             },
2026-06-15T08:25:24.7197189Z             {
2026-06-15T08:25:24.7197565Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7197842Z               "line": 175
2026-06-15T08:25:24.7198099Z             },
2026-06-15T08:25:24.7198351Z             {
2026-06-15T08:25:24.7198734Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7199060Z               "line": 190
2026-06-15T08:25:24.7199318Z             },
2026-06-15T08:25:24.7199576Z             {
2026-06-15T08:25:24.7199938Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7200215Z               "line": 271
2026-06-15T08:25:24.7200473Z             },
2026-06-15T08:25:24.7200721Z             {
2026-06-15T08:25:24.7201102Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7201363Z               "line": 306
2026-06-15T08:25:24.7201622Z             },
2026-06-15T08:25:24.7201880Z             {
2026-06-15T08:25:24.7202261Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7202533Z               "line": 312
2026-06-15T08:25:24.7202777Z             },
2026-06-15T08:25:24.7203034Z             {
2026-06-15T08:25:24.7203401Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7203678Z               "line": 318
2026-06-15T08:25:24.7203937Z             },
2026-06-15T08:25:24.7204192Z             {
2026-06-15T08:25:24.7204552Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7204833Z               "line": 334
2026-06-15T08:25:24.7205095Z             },
2026-06-15T08:25:24.7205343Z             {
2026-06-15T08:25:24.7205710Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7205987Z               "line": 354
2026-06-15T08:25:24.7206254Z             },
2026-06-15T08:25:24.7206522Z             {
2026-06-15T08:25:24.7206881Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.7207257Z               "line": 35
2026-06-15T08:25:24.7207515Z             },
2026-06-15T08:25:24.7207777Z             {
2026-06-15T08:25:24.7208139Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.7208416Z               "line": 85
2026-06-15T08:25:24.7208678Z             },
2026-06-15T08:25:24.7209121Z             {
2026-06-15T08:25:24.7209497Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.7209775Z               "line": 135
2026-06-15T08:25:24.7210046Z             },
2026-06-15T08:25:24.7210299Z             {
2026-06-15T08:25:24.7210618Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7210894Z               "line": 2555
2026-06-15T08:25:24.7211151Z             },
2026-06-15T08:25:24.7211413Z             {
2026-06-15T08:25:24.7211737Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.7212017Z               "line": 17
2026-06-15T08:25:24.7212269Z             }
2026-06-15T08:25:24.7212536Z           ]
2026-06-15T08:25:24.7212793Z         },
2026-06-15T08:25:24.7213046Z         "int": {
2026-06-15T08:25:24.7213337Z           "complete": true,
2026-06-15T08:25:24.7213609Z           "evidence": [
2026-06-15T08:25:24.7213867Z             {
2026-06-15T08:25:24.7214248Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7214521Z               "line": 341
2026-06-15T08:25:24.7214790Z             },
2026-06-15T08:25:24.7215035Z             {
2026-06-15T08:25:24.7215422Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7215698Z               "line": 606
2026-06-15T08:25:24.7215955Z             },
2026-06-15T08:25:24.7216209Z             {
2026-06-15T08:25:24.7216580Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7216861Z               "line": 879
2026-06-15T08:25:24.7217124Z             }
2026-06-15T08:25:24.7217386Z           ]
2026-06-15T08:25:24.7217645Z         },
2026-06-15T08:25:24.7217907Z         "unit": {
2026-06-15T08:25:24.7218193Z           "complete": true,
2026-06-15T08:25:24.7218470Z           "evidence": [
2026-06-15T08:25:24.7218728Z             {
2026-06-15T08:25:24.7219176Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7219471Z               "line": 651
2026-06-15T08:25:24.7219729Z             },
2026-06-15T08:25:24.7223215Z             {
2026-06-15T08:25:24.7223643Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7223926Z               "line": 686
2026-06-15T08:25:24.7224188Z             },
2026-06-15T08:25:24.7224446Z             {
2026-06-15T08:25:24.7224845Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7225114Z               "line": 936
2026-06-15T08:25:24.7225374Z             },
2026-06-15T08:25:24.7225634Z             {
2026-06-15T08:25:24.7226012Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-15T08:25:24.7226293Z               "line": 201
2026-06-15T08:25:24.7226559Z             },
2026-06-15T08:25:24.7226826Z             {
2026-06-15T08:25:24.7227189Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7227470Z               "line": 442
2026-06-15T08:25:24.7227731Z             },
2026-06-15T08:25:24.7227993Z             {
2026-06-15T08:25:24.7228368Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7228654Z               "line": 456
2026-06-15T08:25:24.7228917Z             },
2026-06-15T08:25:24.7229255Z             {
2026-06-15T08:25:24.7229641Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7229917Z               "line": 475
2026-06-15T08:25:24.7230172Z             },
2026-06-15T08:25:24.7230429Z             {
2026-06-15T08:25:24.7230779Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.7231051Z               "line": 120
2026-06-15T08:25:24.7231304Z             },
2026-06-15T08:25:24.7231557Z             {
2026-06-15T08:25:24.7231924Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-15T08:25:24.7232339Z               "line": 163
2026-06-15T08:25:24.7232596Z             },
2026-06-15T08:25:24.7232853Z             {
2026-06-15T08:25:24.7233213Z               "path": "crates/spt-store/src/spool.rs",
2026-06-15T08:25:24.7233494Z               "line": 492
2026-06-15T08:25:24.7233851Z             },
2026-06-15T08:25:24.7234114Z             {
2026-06-15T08:25:24.7234438Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.7234715Z               "line": 616
2026-06-15T08:25:24.7234959Z             },
2026-06-15T08:25:24.7235216Z             {
2026-06-15T08:25:24.7235545Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.7235819Z               "line": 1006
2026-06-15T08:25:24.7236080Z             }
2026-06-15T08:25:24.7236333Z           ]
2026-06-15T08:25:24.7236591Z         }
2026-06-15T08:25:24.7236843Z       }
2026-06-15T08:25:24.7237109Z     },
2026-06-15T08:25:24.7237358Z     {
2026-06-15T08:25:24.7237643Z       "id": "REQ-NET-2",
2026-06-15T08:25:24.7238203Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-15T08:25:24.7238482Z       "requiredStages": [
2026-06-15T08:25:24.7238746Z         "impl"
2026-06-15T08:25:24.7239046Z       ],
2026-06-15T08:25:24.7239313Z       "stages": {
2026-06-15T08:25:24.7239581Z         "doc": {
2026-06-15T08:25:24.7239867Z           "complete": false,
2026-06-15T08:25:24.7240144Z           "evidence": []
2026-06-15T08:25:24.7240393Z         },
2026-06-15T08:25:24.7240649Z         "impl": {
2026-06-15T08:25:24.7240930Z           "complete": true,
2026-06-15T08:25:24.7241211Z           "evidence": [
2026-06-15T08:25:24.7241473Z             {
2026-06-15T08:25:24.7241844Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.7242122Z               "line": 57
2026-06-15T08:25:24.7242374Z             },
2026-06-15T08:25:24.7242628Z             {
2026-06-15T08:25:24.7243009Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7243291Z               "line": 71
2026-06-15T08:25:24.7243546Z             },
2026-06-15T08:25:24.7243806Z             {
2026-06-15T08:25:24.7244178Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7244449Z               "line": 81
2026-06-15T08:25:24.7244698Z             },
2026-06-15T08:25:24.7244956Z             {
2026-06-15T08:25:24.7245322Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7245599Z               "line": 159
2026-06-15T08:25:24.7245862Z             },
2026-06-15T08:25:24.7246124Z             {
2026-06-15T08:25:24.7246494Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7246769Z               "line": 175
2026-06-15T08:25:24.7247016Z             },
2026-06-15T08:25:24.7247269Z             {
2026-06-15T08:25:24.7247641Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-15T08:25:24.7247918Z               "line": 190
2026-06-15T08:25:24.7248180Z             }
2026-06-15T08:25:24.7248438Z           ]
2026-06-15T08:25:24.7248692Z         },
2026-06-15T08:25:24.7249018Z         "int": {
2026-06-15T08:25:24.7249306Z           "complete": false,
2026-06-15T08:25:24.7249568Z           "evidence": []
2026-06-15T08:25:24.7249827Z         },
2026-06-15T08:25:24.7250093Z         "unit": {
2026-06-15T08:25:24.7250380Z           "complete": true,
2026-06-15T08:25:24.7250652Z           "evidence": [
2026-06-15T08:25:24.7250909Z             {
2026-06-15T08:25:24.7251282Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.7251554Z               "line": 402
2026-06-15T08:25:24.7251809Z             }
2026-06-15T08:25:24.7252071Z           ]
2026-06-15T08:25:24.7252324Z         }
2026-06-15T08:25:24.7252573Z       }
2026-06-15T08:25:24.7252830Z     },
2026-06-15T08:25:24.7253086Z     {
2026-06-15T08:25:24.7253363Z       "id": "REQ-NET-3",
2026-06-15T08:25:24.7253875Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-15T08:25:24.7254295Z       "requiredStages": [
2026-06-15T08:25:24.7254553Z         "impl",
2026-06-15T08:25:24.7254815Z         "unit"
2026-06-15T08:25:24.7255067Z       ],
2026-06-15T08:25:24.7255329Z       "stages": {
2026-06-15T08:25:24.7255577Z         "doc": {
2026-06-15T08:25:24.7255868Z           "complete": false,
2026-06-15T08:25:24.7256245Z           "evidence": []
2026-06-15T08:25:24.7256497Z         },
2026-06-15T08:25:24.7256766Z         "impl": {
2026-06-15T08:25:24.7257036Z           "complete": true,
2026-06-15T08:25:24.7257314Z           "evidence": [
2026-06-15T08:25:24.7257571Z             {
2026-06-15T08:25:24.7257919Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.7258192Z               "line": 39
2026-06-15T08:25:24.7258444Z             },
2026-06-15T08:25:24.7258712Z             {
2026-06-15T08:25:24.7259126Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.7259403Z               "line": 182
2026-06-15T08:25:24.7259659Z             },
2026-06-15T08:25:24.7259920Z             {
2026-06-15T08:25:24.7260259Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-15T08:25:24.7260530Z               "line": 333
2026-06-15T08:25:24.7260786Z             },
2026-06-15T08:25:24.7261040Z             {
2026-06-15T08:25:24.7261388Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-15T08:25:24.7261664Z               "line": 36
2026-06-15T08:25:24.7261922Z             },
2026-06-15T08:25:24.7262171Z             {
2026-06-15T08:25:24.7262546Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7262823Z               "line": 158
2026-06-15T08:25:24.7263080Z             },
2026-06-15T08:25:24.7263332Z             {
2026-06-15T08:25:24.7263709Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7263985Z               "line": 212
2026-06-15T08:25:24.7264248Z             },
2026-06-15T08:25:24.7264500Z             {
2026-06-15T08:25:24.7264883Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7265156Z               "line": 233
2026-06-15T08:25:24.7265413Z             },
2026-06-15T08:25:24.7265671Z             {
2026-06-15T08:25:24.7266043Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7266305Z               "line": 291
2026-06-15T08:25:24.7266562Z             },
2026-06-15T08:25:24.7266819Z             {
2026-06-15T08:25:24.7267201Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7267472Z               "line": 310
2026-06-15T08:25:24.7267727Z             },
2026-06-15T08:25:24.7267975Z             {
2026-06-15T08:25:24.7268361Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7268633Z               "line": 348
2026-06-15T08:25:24.7268896Z             },
2026-06-15T08:25:24.7269239Z             {
2026-06-15T08:25:24.7269615Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7269897Z               "line": 393
2026-06-15T08:25:24.7270163Z             },
2026-06-15T08:25:24.7270431Z             {
2026-06-15T08:25:24.7270804Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.7271080Z               "line": 406
2026-06-15T08:25:24.7271337Z             },
2026-06-15T08:25:24.7271591Z             {
2026-06-15T08:25:24.7271962Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7272239Z               "line": 29
2026-06-15T08:25:24.7272506Z             },
2026-06-15T08:25:24.7272765Z             {
2026-06-15T08:25:24.7273136Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7273398Z               "line": 72
2026-06-15T08:25:24.7273655Z             },
2026-06-15T08:25:24.7273906Z             {
2026-06-15T08:25:24.7274264Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7274531Z               "line": 123
2026-06-15T08:25:24.7274793Z             }
2026-06-15T08:25:24.7275051Z           ]
2026-06-15T08:25:24.7275415Z         },
2026-06-15T08:25:24.7275678Z         "int": {
2026-06-15T08:25:24.7275969Z           "complete": false,
2026-06-15T08:25:24.7276236Z           "evidence": []
2026-06-15T08:25:24.7276497Z         },
2026-06-15T08:25:24.7276749Z         "unit": {
2026-06-15T08:25:24.7277027Z           "complete": true,
2026-06-15T08:25:24.7277293Z           "evidence": [
2026-06-15T08:25:24.7277651Z             {
2026-06-15T08:25:24.7278027Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.7278291Z               "line": 223
2026-06-15T08:25:24.7278545Z             },
2026-06-15T08:25:24.7278798Z             {
2026-06-15T08:25:24.7279222Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.7279494Z               "line": 351
2026-06-15T08:25:24.7279757Z             },
2026-06-15T08:25:24.7280018Z             {
2026-06-15T08:25:24.7280381Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-15T08:25:24.7280655Z               "line": 504
2026-06-15T08:25:24.7280915Z             },
2026-06-15T08:25:24.7281183Z             {
2026-06-15T08:25:24.7281521Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-15T08:25:24.7281793Z               "line": 93
2026-06-15T08:25:24.7282055Z             },
2026-06-15T08:25:24.7282314Z             {
2026-06-15T08:25:24.7282662Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-15T08:25:24.7282943Z               "line": 142
2026-06-15T08:25:24.7283195Z             },
2026-06-15T08:25:24.7283451Z             {
2026-06-15T08:25:24.7283823Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7284095Z               "line": 315
2026-06-15T08:25:24.7284353Z             },
2026-06-15T08:25:24.7284606Z             {
2026-06-15T08:25:24.7284973Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7285240Z               "line": 355
2026-06-15T08:25:24.7285503Z             },
2026-06-15T08:25:24.7285753Z             {
2026-06-15T08:25:24.7286113Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-15T08:25:24.7286385Z               "line": 494
2026-06-15T08:25:24.7286643Z             }
2026-06-15T08:25:24.7286895Z           ]
2026-06-15T08:25:24.7287154Z         }
2026-06-15T08:25:24.7287406Z       }
2026-06-15T08:25:24.7287653Z     },
2026-06-15T08:25:24.7287911Z     {
2026-06-15T08:25:24.7288206Z       "id": "REQ-NODE-IDENTITY",
2026-06-15T08:25:24.7288909Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-15T08:25:24.7289247Z       "requiredStages": [
2026-06-15T08:25:24.7289510Z         "impl",
2026-06-15T08:25:24.7289767Z         "unit"
2026-06-15T08:25:24.7290026Z       ],
2026-06-15T08:25:24.7290297Z       "stages": {
2026-06-15T08:25:24.7290554Z         "doc": {
2026-06-15T08:25:24.7290850Z           "complete": false,
2026-06-15T08:25:24.7291121Z           "evidence": []
2026-06-15T08:25:24.7291381Z         },
2026-06-15T08:25:24.7291653Z         "impl": {
2026-06-15T08:25:24.7291934Z           "complete": true,
2026-06-15T08:25:24.7292210Z           "evidence": [
2026-06-15T08:25:24.7292472Z             {
2026-06-15T08:25:24.7292849Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7293120Z               "line": 60
2026-06-15T08:25:24.7293374Z             },
2026-06-15T08:25:24.7293640Z             {
2026-06-15T08:25:24.7294007Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7294284Z               "line": 68
2026-06-15T08:25:24.7294537Z             },
2026-06-15T08:25:24.7294795Z             {
2026-06-15T08:25:24.7295161Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7295438Z               "line": 86
2026-06-15T08:25:24.7295695Z             },
2026-06-15T08:25:24.7295947Z             {
2026-06-15T08:25:24.7296314Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7296587Z               "line": 120
2026-06-15T08:25:24.7296845Z             },
2026-06-15T08:25:24.7297103Z             {
2026-06-15T08:25:24.7297598Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7297875Z               "line": 127
2026-06-15T08:25:24.7298138Z             },
2026-06-15T08:25:24.7298395Z             {
2026-06-15T08:25:24.7298766Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7299204Z               "line": 143
2026-06-15T08:25:24.7299464Z             },
2026-06-15T08:25:24.7299723Z             {
2026-06-15T08:25:24.7300079Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-15T08:25:24.7300347Z               "line": 16
2026-06-15T08:25:24.7300610Z             }
2026-06-15T08:25:24.7300862Z           ]
2026-06-15T08:25:24.7301124Z         },
2026-06-15T08:25:24.7301381Z         "int": {
2026-06-15T08:25:24.7301662Z           "complete": false,
2026-06-15T08:25:24.7301941Z           "evidence": []
2026-06-15T08:25:24.7302189Z         },
2026-06-15T08:25:24.7302456Z         "unit": {
2026-06-15T08:25:24.7302736Z           "complete": true,
2026-06-15T08:25:24.7303003Z           "evidence": [
2026-06-15T08:25:24.7303257Z             {
2026-06-15T08:25:24.7303628Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7303905Z               "line": 199
2026-06-15T08:25:24.7304158Z             },
2026-06-15T08:25:24.7304426Z             {
2026-06-15T08:25:24.7304787Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7305049Z               "line": 218
2026-06-15T08:25:24.7305296Z             },
2026-06-15T08:25:24.7305558Z             {
2026-06-15T08:25:24.7305930Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7306202Z               "line": 234
2026-06-15T08:25:24.7306469Z             },
2026-06-15T08:25:24.7306727Z             {
2026-06-15T08:25:24.7307091Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-15T08:25:24.7307363Z               "line": 256
2026-06-15T08:25:24.7307630Z             },
2026-06-15T08:25:24.7307887Z             {
2026-06-15T08:25:24.7308241Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-15T08:25:24.7308521Z               "line": 124
2026-06-15T08:25:24.7308778Z             },
2026-06-15T08:25:24.7309112Z             {
2026-06-15T08:25:24.7309456Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-15T08:25:24.7309726Z               "line": 140
2026-06-15T08:25:24.7310067Z             },
2026-06-15T08:25:24.7310334Z             {
2026-06-15T08:25:24.7310730Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-15T08:25:24.7311069Z               "line": 155
2026-06-15T08:25:24.7311355Z             }
2026-06-15T08:25:24.7311694Z           ]
2026-06-15T08:25:24.7311946Z         }
2026-06-15T08:25:24.7312208Z       }
2026-06-15T08:25:24.7312465Z     },
2026-06-15T08:25:24.7312720Z     {
2026-06-15T08:25:24.7312996Z       "id": "REQ-NOTIF-1",
2026-06-15T08:25:24.7314117Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-15T08:25:24.7314412Z       "requiredStages": [
2026-06-15T08:25:24.7314676Z         "impl",
2026-06-15T08:25:24.7314938Z         "unit",
2026-06-15T08:25:24.7315193Z         "int"
2026-06-15T08:25:24.7315446Z       ],
2026-06-15T08:25:24.7315709Z       "stages": {
2026-06-15T08:25:24.7315971Z         "doc": {
2026-06-15T08:25:24.7316267Z           "complete": false,
2026-06-15T08:25:24.7316544Z           "evidence": []
2026-06-15T08:25:24.7316800Z         },
2026-06-15T08:25:24.7317067Z         "impl": {
2026-06-15T08:25:24.7317353Z           "complete": true,
2026-06-15T08:25:24.7317618Z           "evidence": [
2026-06-15T08:25:24.7317880Z             {
2026-06-15T08:25:24.7318271Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7318543Z               "line": 514
2026-06-15T08:25:24.7318801Z             },
2026-06-15T08:25:24.7319139Z             {
2026-06-15T08:25:24.7319497Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7319887Z               "line": 30
2026-06-15T08:25:24.7320141Z             },
2026-06-15T08:25:24.7320406Z             {
2026-06-15T08:25:24.7320757Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7321029Z               "line": 69
2026-06-15T08:25:24.7321285Z             },
2026-06-15T08:25:24.7321548Z             {
2026-06-15T08:25:24.7321997Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7322268Z               "line": 93
2026-06-15T08:25:24.7322525Z             },
2026-06-15T08:25:24.7322782Z             {
2026-06-15T08:25:24.7323137Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7323410Z               "line": 107
2026-06-15T08:25:24.7323676Z             },
2026-06-15T08:25:24.7323929Z             {
2026-06-15T08:25:24.7324278Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7324549Z               "line": 142
2026-06-15T08:25:24.7324806Z             },
2026-06-15T08:25:24.7325063Z             {
2026-06-15T08:25:24.7325421Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7325701Z               "line": 187
2026-06-15T08:25:24.7325955Z             },
2026-06-15T08:25:24.7326203Z             {
2026-06-15T08:25:24.7326555Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7326828Z               "line": 258
2026-06-15T08:25:24.7327085Z             },
2026-06-15T08:25:24.7327342Z             {
2026-06-15T08:25:24.7327699Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7327970Z               "line": 372
2026-06-15T08:25:24.7328240Z             },
2026-06-15T08:25:24.7328488Z             {
2026-06-15T08:25:24.7328845Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7329169Z               "line": 479
2026-06-15T08:25:24.7329427Z             },
2026-06-15T08:25:24.7329690Z             {
2026-06-15T08:25:24.7330061Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7330334Z               "line": 24
2026-06-15T08:25:24.7330601Z             },
2026-06-15T08:25:24.7330860Z             {
2026-06-15T08:25:24.7331230Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7331488Z               "line": 34
2026-06-15T08:25:24.7331750Z             },
2026-06-15T08:25:24.7332008Z             {
2026-06-15T08:25:24.7332380Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7332656Z               "line": 60
2026-06-15T08:25:24.7332915Z             },
2026-06-15T08:25:24.7333177Z             {
2026-06-15T08:25:24.7333556Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7333831Z               "line": 82
2026-06-15T08:25:24.7334083Z             },
2026-06-15T08:25:24.7334341Z             {
2026-06-15T08:25:24.7334717Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7334975Z               "line": 94
2026-06-15T08:25:24.7335232Z             },
2026-06-15T08:25:24.7335496Z             {
2026-06-15T08:25:24.7335871Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.7336154Z               "line": 96
2026-06-15T08:25:24.7336414Z             },
2026-06-15T08:25:24.7336671Z             {
2026-06-15T08:25:24.7337040Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-15T08:25:24.7337315Z               "line": 44
2026-06-15T08:25:24.7337577Z             },
2026-06-15T08:25:24.7337831Z             {
2026-06-15T08:25:24.7338197Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.7338464Z               "line": 20
2026-06-15T08:25:24.7338720Z             },
2026-06-15T08:25:24.7339049Z             {
2026-06-15T08:25:24.7339410Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.7339682Z               "line": 30
2026-06-15T08:25:24.7339945Z             },
2026-06-15T08:25:24.7340211Z             {
2026-06-15T08:25:24.7340565Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.7340941Z               "line": 50
2026-06-15T08:25:24.7341195Z             },
2026-06-15T08:25:24.7341469Z             {
2026-06-15T08:25:24.7341810Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7342076Z               "line": 28
2026-06-15T08:25:24.7342339Z             },
2026-06-15T08:25:24.7342597Z             {
2026-06-15T08:25:24.7343059Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7343331Z               "line": 126
2026-06-15T08:25:24.7343593Z             },
2026-06-15T08:25:24.7343846Z             {
2026-06-15T08:25:24.7344196Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7344473Z               "line": 161
2026-06-15T08:25:24.7344725Z             },
2026-06-15T08:25:24.7344972Z             {
2026-06-15T08:25:24.7345321Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7345592Z               "line": 202
2026-06-15T08:25:24.7345850Z             },
2026-06-15T08:25:24.7346112Z             {
2026-06-15T08:25:24.7346469Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7346737Z               "line": 213
2026-06-15T08:25:24.7346999Z             },
2026-06-15T08:25:24.7347246Z             {
2026-06-15T08:25:24.7347585Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7347866Z               "line": 238
2026-06-15T08:25:24.7348118Z             },
2026-06-15T08:25:24.7348376Z             {
2026-06-15T08:25:24.7348714Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7349067Z               "line": 261
2026-06-15T08:25:24.7349313Z             },
2026-06-15T08:25:24.7349565Z             {
2026-06-15T08:25:24.7349923Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7350200Z               "line": 82
2026-06-15T08:25:24.7350457Z             }
2026-06-15T08:25:24.7350719Z           ]
2026-06-15T08:25:24.7350981Z         },
2026-06-15T08:25:24.7351243Z         "int": {
2026-06-15T08:25:24.7351538Z           "complete": true,
2026-06-15T08:25:24.7351816Z           "evidence": [
2026-06-15T08:25:24.7352077Z             {
2026-06-15T08:25:24.7352466Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7352733Z               "line": 285
2026-06-15T08:25:24.7352990Z             },
2026-06-15T08:25:24.7353252Z             {
2026-06-15T08:25:24.7353614Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-15T08:25:24.7353891Z               "line": 102
2026-06-15T08:25:24.7354148Z             },
2026-06-15T08:25:24.7354411Z             {
2026-06-15T08:25:24.7354775Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7355052Z               "line": 615
2026-06-15T08:25:24.7355304Z             },
2026-06-15T08:25:24.7355566Z             {
2026-06-15T08:25:24.7355925Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7356205Z               "line": 1008
2026-06-15T08:25:24.7356467Z             }
2026-06-15T08:25:24.7356730Z           ]
2026-06-15T08:25:24.7356991Z         },
2026-06-15T08:25:24.7357250Z         "unit": {
2026-06-15T08:25:24.7357534Z           "complete": true,
2026-06-15T08:25:24.7357816Z           "evidence": [
2026-06-15T08:25:24.7358077Z             {
2026-06-15T08:25:24.7358435Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7358712Z               "line": 572
2026-06-15T08:25:24.7359065Z             },
2026-06-15T08:25:24.7359318Z             {
2026-06-15T08:25:24.7359679Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7359953Z               "line": 621
2026-06-15T08:25:24.7360211Z             },
2026-06-15T08:25:24.7360473Z             {
2026-06-15T08:25:24.7360812Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7361089Z               "line": 725
2026-06-15T08:25:24.7361342Z             },
2026-06-15T08:25:24.7361598Z             {
2026-06-15T08:25:24.7361947Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7362334Z               "line": 757
2026-06-15T08:25:24.7362594Z             },
2026-06-15T08:25:24.7362849Z             {
2026-06-15T08:25:24.7363201Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7363473Z               "line": 825
2026-06-15T08:25:24.7363722Z             },
2026-06-15T08:25:24.7364079Z             {
2026-06-15T08:25:24.7364427Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7364703Z               "line": 883
2026-06-15T08:25:24.7364952Z             },
2026-06-15T08:25:24.7365213Z             {
2026-06-15T08:25:24.7365550Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7365831Z               "line": 1158
2026-06-15T08:25:24.7366102Z             },
2026-06-15T08:25:24.7366350Z             {
2026-06-15T08:25:24.7366722Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7366999Z               "line": 157
2026-06-15T08:25:24.7367266Z             },
2026-06-15T08:25:24.7367533Z             {
2026-06-15T08:25:24.7367899Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7368177Z               "line": 250
2026-06-15T08:25:24.7368429Z             },
2026-06-15T08:25:24.7368686Z             {
2026-06-15T08:25:24.7369125Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-15T08:25:24.7369406Z               "line": 273
2026-06-15T08:25:24.7369670Z             },
2026-06-15T08:25:24.7369926Z             {
2026-06-15T08:25:24.7370301Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.7370566Z               "line": 341
2026-06-15T08:25:24.7370832Z             },
2026-06-15T08:25:24.7371095Z             {
2026-06-15T08:25:24.7371467Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-15T08:25:24.7371739Z               "line": 373
2026-06-15T08:25:24.7372001Z             },
2026-06-15T08:25:24.7372255Z             {
2026-06-15T08:25:24.7372641Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-15T08:25:24.7372918Z               "line": 131
2026-06-15T08:25:24.7373168Z             },
2026-06-15T08:25:24.7373428Z             {
2026-06-15T08:25:24.7373785Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.7374043Z               "line": 72
2026-06-15T08:25:24.7374301Z             },
2026-06-15T08:25:24.7374563Z             {
2026-06-15T08:25:24.7374916Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-15T08:25:24.7375188Z               "line": 97
2026-06-15T08:25:24.7375442Z             },
2026-06-15T08:25:24.7375706Z             {
2026-06-15T08:25:24.7376057Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7376338Z               "line": 379
2026-06-15T08:25:24.7376600Z             },
2026-06-15T08:25:24.7376858Z             {
2026-06-15T08:25:24.7377206Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7377478Z               "line": 417
2026-06-15T08:25:24.7377731Z             },
2026-06-15T08:25:24.7377984Z             {
2026-06-15T08:25:24.7378338Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7378607Z               "line": 433
2026-06-15T08:25:24.7378868Z             },
2026-06-15T08:25:24.7379197Z             {
2026-06-15T08:25:24.7379547Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7379827Z               "line": 472
2026-06-15T08:25:24.7380081Z             },
2026-06-15T08:25:24.7380338Z             {
2026-06-15T08:25:24.7380681Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7380956Z               "line": 489
2026-06-15T08:25:24.7381221Z             },
2026-06-15T08:25:24.7381474Z             {
2026-06-15T08:25:24.7381828Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7382104Z               "line": 517
2026-06-15T08:25:24.7382361Z             },
2026-06-15T08:25:24.7382619Z             {
2026-06-15T08:25:24.7382972Z               "path": "crates/spt-store/src/notif.rs",
2026-06-15T08:25:24.7383368Z               "line": 548
2026-06-15T08:25:24.7383628Z             },
2026-06-15T08:25:24.7383889Z             {
2026-06-15T08:25:24.7384260Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7384528Z               "line": 621
2026-06-15T08:25:24.7384781Z             }
2026-06-15T08:25:24.7385161Z           ]
2026-06-15T08:25:24.7385420Z         }
2026-06-15T08:25:24.7385672Z       }
2026-06-15T08:25:24.7385934Z     },
2026-06-15T08:25:24.7386190Z     {
2026-06-15T08:25:24.7386474Z       "id": "REQ-NOTIF-2",
2026-06-15T08:25:24.7387286Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-15T08:25:24.7387586Z       "requiredStages": [
2026-06-15T08:25:24.7387847Z         "doc",
2026-06-15T08:25:24.7388104Z         "impl",
2026-06-15T08:25:24.7388362Z         "unit",
2026-06-15T08:25:24.7388625Z         "int"
2026-06-15T08:25:24.7388893Z       ],
2026-06-15T08:25:24.7389230Z       "stages": {
2026-06-15T08:25:24.7389491Z         "doc": {
2026-06-15T08:25:24.7389782Z           "complete": true,
2026-06-15T08:25:24.7390059Z           "evidence": [
2026-06-15T08:25:24.7390321Z             {
2026-06-15T08:25:24.7390617Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7390893Z               "line": 451
2026-06-15T08:25:24.7391156Z             },
2026-06-15T08:25:24.7391416Z             {
2026-06-15T08:25:24.7391724Z               "path": "docs/MANIFEST.md",
2026-06-15T08:25:24.7392078Z               "line": 74
2026-06-15T08:25:24.7392440Z             }
2026-06-15T08:25:24.7392817Z           ]
2026-06-15T08:25:24.7393212Z         },
2026-06-15T08:25:24.7393628Z         "impl": {
2026-06-15T08:25:24.7394066Z           "complete": true,
2026-06-15T08:25:24.7394463Z           "evidence": [
2026-06-15T08:25:24.7394825Z             {
2026-06-15T08:25:24.7395331Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7395721Z               "line": 287
2026-06-15T08:25:24.7396151Z             },
2026-06-15T08:25:24.7396538Z             {
2026-06-15T08:25:24.7397067Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7397482Z               "line": 301
2026-06-15T08:25:24.7397870Z             },
2026-06-15T08:25:24.7398274Z             {
2026-06-15T08:25:24.7398857Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7399391Z               "line": 326
2026-06-15T08:25:24.7399790Z             },
2026-06-15T08:25:24.7400261Z             {
2026-06-15T08:25:24.7400943Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.7401420Z               "line": 199
2026-06-15T08:25:24.7401891Z             },
2026-06-15T08:25:24.7402318Z             {
2026-06-15T08:25:24.7402953Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7403424Z               "line": 91
2026-06-15T08:25:24.7403843Z             },
2026-06-15T08:25:24.7404250Z             {
2026-06-15T08:25:24.7404820Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7405310Z               "line": 1957
2026-06-15T08:25:24.7405747Z             },
2026-06-15T08:25:24.7406139Z             {
2026-06-15T08:25:24.7406644Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7407131Z               "line": 2006
2026-06-15T08:25:24.7407609Z             },
2026-06-15T08:25:24.7408023Z             {
2026-06-15T08:25:24.7408558Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7409059Z               "line": 2085
2026-06-15T08:25:24.7409477Z             },
2026-06-15T08:25:24.7409878Z             {
2026-06-15T08:25:24.7410383Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7410826Z               "line": 2124
2026-06-15T08:25:24.7411280Z             }
2026-06-15T08:25:24.7411713Z           ]
2026-06-15T08:25:24.7412094Z         },
2026-06-15T08:25:24.7412484Z         "int": {
2026-06-15T08:25:24.7412945Z           "complete": true,
2026-06-15T08:25:24.7413388Z           "evidence": [
2026-06-15T08:25:24.7414022Z             {
2026-06-15T08:25:24.7414599Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7415058Z               "line": 741
2026-06-15T08:25:24.7415527Z             },
2026-06-15T08:25:24.7415992Z             {
2026-06-15T08:25:24.7416627Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7417199Z               "line": 1161
2026-06-15T08:25:24.7417590Z             }
2026-06-15T08:25:24.7417961Z           ]
2026-06-15T08:25:24.7418336Z         },
2026-06-15T08:25:24.7418732Z         "unit": {
2026-06-15T08:25:24.7419252Z           "complete": true,
2026-06-15T08:25:24.7419676Z           "evidence": [
2026-06-15T08:25:24.7420061Z             {
2026-06-15T08:25:24.7420653Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7421109Z               "line": 1007
2026-06-15T08:25:24.7421540Z             },
2026-06-15T08:25:24.7421963Z             {
2026-06-15T08:25:24.7422597Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7423063Z               "line": 1075
2026-06-15T08:25:24.7423515Z             },
2026-06-15T08:25:24.7423957Z             {
2026-06-15T08:25:24.7424535Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7425008Z               "line": 6600
2026-06-15T08:25:24.7425464Z             },
2026-06-15T08:25:24.7429344Z             {
2026-06-15T08:25:24.7429716Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7430007Z               "line": 6655
2026-06-15T08:25:24.7430269Z             }
2026-06-15T08:25:24.7430527Z           ]
2026-06-15T08:25:24.7430790Z         }
2026-06-15T08:25:24.7431047Z       }
2026-06-15T08:25:24.7431307Z     },
2026-06-15T08:25:24.7431552Z     {
2026-06-15T08:25:24.7431847Z       "id": "REQ-PAIR-1",
2026-06-15T08:25:24.7432190Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-15T08:25:24.7432476Z       "requiredStages": [
2026-06-15T08:25:24.7432744Z         "impl",
2026-06-15T08:25:24.7433001Z         "unit",
2026-06-15T08:25:24.7433262Z         "int"
2026-06-15T08:25:24.7433510Z       ],
2026-06-15T08:25:24.7433771Z       "stages": {
2026-06-15T08:25:24.7434037Z         "doc": {
2026-06-15T08:25:24.7434322Z           "complete": false,
2026-06-15T08:25:24.7434594Z           "evidence": []
2026-06-15T08:25:24.7434842Z         },
2026-06-15T08:25:24.7435110Z         "impl": {
2026-06-15T08:25:24.7435385Z           "complete": true,
2026-06-15T08:25:24.7435659Z           "evidence": [
2026-06-15T08:25:24.7435921Z             {
2026-06-15T08:25:24.7436316Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7436582Z               "line": 27
2026-06-15T08:25:24.7436842Z             },
2026-06-15T08:25:24.7437099Z             {
2026-06-15T08:25:24.7437486Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7437757Z               "line": 88
2026-06-15T08:25:24.7438019Z             },
2026-06-15T08:25:24.7438281Z             {
2026-06-15T08:25:24.7438687Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7439057Z               "line": 110
2026-06-15T08:25:24.7439336Z             },
2026-06-15T08:25:24.7439599Z             {
2026-06-15T08:25:24.7440004Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7440281Z               "line": 153
2026-06-15T08:25:24.7440543Z             },
2026-06-15T08:25:24.7440806Z             {
2026-06-15T08:25:24.7441196Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7441468Z               "line": 182
2026-06-15T08:25:24.7441731Z             },
2026-06-15T08:25:24.7441992Z             {
2026-06-15T08:25:24.7442393Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7442665Z               "line": 29
2026-06-15T08:25:24.7442921Z             },
2026-06-15T08:25:24.7443174Z             {
2026-06-15T08:25:24.7443614Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-15T08:25:24.7444056Z               "line": 31
2026-06-15T08:25:24.7444317Z             },
2026-06-15T08:25:24.7444577Z             {
2026-06-15T08:25:24.7444964Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7445236Z               "line": 44
2026-06-15T08:25:24.7445494Z             },
2026-06-15T08:25:24.7445856Z             {
2026-06-15T08:25:24.7446251Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7446519Z               "line": 171
2026-06-15T08:25:24.7446777Z             },
2026-06-15T08:25:24.7447032Z             {
2026-06-15T08:25:24.7447426Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7447687Z               "line": 376
2026-06-15T08:25:24.7447940Z             }
2026-06-15T08:25:24.7448204Z           ]
2026-06-15T08:25:24.7448461Z         },
2026-06-15T08:25:24.7448724Z         "int": {
2026-06-15T08:25:24.7449105Z           "complete": true,
2026-06-15T08:25:24.7449377Z           "evidence": [
2026-06-15T08:25:24.7449637Z             {
2026-06-15T08:25:24.7450012Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7450293Z               "line": 576
2026-06-15T08:25:24.7450545Z             },
2026-06-15T08:25:24.7450798Z             {
2026-06-15T08:25:24.7451170Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7451447Z               "line": 793
2026-06-15T08:25:24.7451694Z             }
2026-06-15T08:25:24.7451944Z           ]
2026-06-15T08:25:24.7452201Z         },
2026-06-15T08:25:24.7452460Z         "unit": {
2026-06-15T08:25:24.7452747Z           "complete": true,
2026-06-15T08:25:24.7453010Z           "evidence": [
2026-06-15T08:25:24.7453267Z             {
2026-06-15T08:25:24.7453663Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7453935Z               "line": 236
2026-06-15T08:25:24.7454193Z             },
2026-06-15T08:25:24.7454450Z             {
2026-06-15T08:25:24.7454839Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-15T08:25:24.7455128Z               "line": 349
2026-06-15T08:25:24.7455395Z             },
2026-06-15T08:25:24.7455652Z             {
2026-06-15T08:25:24.7456049Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7456325Z               "line": 194
2026-06-15T08:25:24.7456583Z             },
2026-06-15T08:25:24.7456844Z             {
2026-06-15T08:25:24.7457231Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7457511Z               "line": 216
2026-06-15T08:25:24.7457772Z             },
2026-06-15T08:25:24.7458029Z             {
2026-06-15T08:25:24.7458425Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7458692Z               "line": 230
2026-06-15T08:25:24.7459049Z             },
2026-06-15T08:25:24.7459298Z             {
2026-06-15T08:25:24.7459693Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7459961Z               "line": 242
2026-06-15T08:25:24.7460212Z             },
2026-06-15T08:25:24.7460471Z             {
2026-06-15T08:25:24.7460853Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7461120Z               "line": 256
2026-06-15T08:25:24.7461367Z             },
2026-06-15T08:25:24.7461630Z             {
2026-06-15T08:25:24.7462016Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7462287Z               "line": 270
2026-06-15T08:25:24.7462546Z             },
2026-06-15T08:25:24.7462804Z             {
2026-06-15T08:25:24.7463189Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7463461Z               "line": 277
2026-06-15T08:25:24.7463723Z             },
2026-06-15T08:25:24.7463980Z             {
2026-06-15T08:25:24.7464371Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-15T08:25:24.7464642Z               "line": 295
2026-06-15T08:25:24.7464909Z             },
2026-06-15T08:25:24.7465276Z             {
2026-06-15T08:25:24.7465664Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7465941Z               "line": 968
2026-06-15T08:25:24.7466203Z             },
2026-06-15T08:25:24.7466456Z             {
2026-06-15T08:25:24.7466847Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7467243Z               "line": 1051
2026-06-15T08:25:24.7467514Z             },
2026-06-15T08:25:24.7467762Z             {
2026-06-15T08:25:24.7468147Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7468422Z               "line": 1121
2026-06-15T08:25:24.7468671Z             },
2026-06-15T08:25:24.7468928Z             {
2026-06-15T08:25:24.7469452Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7469733Z               "line": 1182
2026-06-15T08:25:24.7469985Z             },
2026-06-15T08:25:24.7470239Z             {
2026-06-15T08:25:24.7470629Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7470909Z               "line": 1238
2026-06-15T08:25:24.7471170Z             },
2026-06-15T08:25:24.7471432Z             {
2026-06-15T08:25:24.7471819Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7472091Z               "line": 1457
2026-06-15T08:25:24.7472352Z             }
2026-06-15T08:25:24.7472614Z           ]
2026-06-15T08:25:24.7472872Z         }
2026-06-15T08:25:24.7473139Z       }
2026-06-15T08:25:24.7473388Z     },
2026-06-15T08:25:24.7473644Z     {
2026-06-15T08:25:24.7473929Z       "id": "REQ-PAIR-2",
2026-06-15T08:25:24.7474341Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-15T08:25:24.7474631Z       "requiredStages": [],
2026-06-15T08:25:24.7474892Z       "stages": {
2026-06-15T08:25:24.7475145Z         "doc": {
2026-06-15T08:25:24.7475431Z           "complete": false,
2026-06-15T08:25:24.7475707Z           "evidence": []
2026-06-15T08:25:24.7475969Z         },
2026-06-15T08:25:24.7476234Z         "impl": {
2026-06-15T08:25:24.7476534Z           "complete": false,
2026-06-15T08:25:24.7476796Z           "evidence": []
2026-06-15T08:25:24.7477054Z         },
2026-06-15T08:25:24.7477312Z         "int": {
2026-06-15T08:25:24.7477602Z           "complete": false,
2026-06-15T08:25:24.7477880Z           "evidence": []
2026-06-15T08:25:24.7478133Z         },
2026-06-15T08:25:24.7478404Z         "unit": {
2026-06-15T08:25:24.7478674Z           "complete": false,
2026-06-15T08:25:24.7479015Z           "evidence": []
2026-06-15T08:25:24.7479287Z         }
2026-06-15T08:25:24.7479555Z       }
2026-06-15T08:25:24.7479817Z     },
2026-06-15T08:25:24.7480065Z     {
2026-06-15T08:25:24.7480355Z       "id": "REQ-PAIR-3",
2026-06-15T08:25:24.7480799Z       "title": "Fetch current pairing code from any paired node",
2026-06-15T08:25:24.7481086Z       "requiredStages": [
2026-06-15T08:25:24.7481346Z         "impl",
2026-06-15T08:25:24.7481610Z         "unit"
2026-06-15T08:25:24.7481868Z       ],
2026-06-15T08:25:24.7482131Z       "stages": {
2026-06-15T08:25:24.7482393Z         "doc": {
2026-06-15T08:25:24.7482684Z           "complete": false,
2026-06-15T08:25:24.7482971Z           "evidence": []
2026-06-15T08:25:24.7483222Z         },
2026-06-15T08:25:24.7483489Z         "impl": {
2026-06-15T08:25:24.7483756Z           "complete": true,
2026-06-15T08:25:24.7484033Z           "evidence": [
2026-06-15T08:25:24.7484290Z             {
2026-06-15T08:25:24.7484605Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7484872Z               "line": 2815
2026-06-15T08:25:24.7485128Z             },
2026-06-15T08:25:24.7485381Z             {
2026-06-15T08:25:24.7485691Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7485982Z               "line": 2884
2026-06-15T08:25:24.7486245Z             },
2026-06-15T08:25:24.7486506Z             {
2026-06-15T08:25:24.7486823Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7487090Z               "line": 3265
2026-06-15T08:25:24.7487467Z             },
2026-06-15T08:25:24.7487734Z             {
2026-06-15T08:25:24.7488058Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7488334Z               "line": 4510
2026-06-15T08:25:24.7488592Z             }
2026-06-15T08:25:24.7488844Z           ]
2026-06-15T08:25:24.7489192Z         },
2026-06-15T08:25:24.7489580Z         "int": {
2026-06-15T08:25:24.7489861Z           "complete": false,
2026-06-15T08:25:24.7490143Z           "evidence": []
2026-06-15T08:25:24.7490401Z         },
2026-06-15T08:25:24.7490668Z         "unit": {
2026-06-15T08:25:24.7490945Z           "complete": true,
2026-06-15T08:25:24.7491211Z           "evidence": [
2026-06-15T08:25:24.7491478Z             {
2026-06-15T08:25:24.7491791Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7492066Z               "line": 8220
2026-06-15T08:25:24.7492319Z             },
2026-06-15T08:25:24.7492577Z             {
2026-06-15T08:25:24.7492901Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7493168Z               "line": 8435
2026-06-15T08:25:24.7493434Z             },
2026-06-15T08:25:24.7493688Z             {
2026-06-15T08:25:24.7494002Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7494283Z               "line": 9034
2026-06-15T08:25:24.7494546Z             },
2026-06-15T08:25:24.7494811Z             {
2026-06-15T08:25:24.7495131Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7495403Z               "line": 9053
2026-06-15T08:25:24.7495664Z             },
2026-06-15T08:25:24.7495923Z             {
2026-06-15T08:25:24.7496252Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7496527Z               "line": 9077
2026-06-15T08:25:24.7496786Z             },
2026-06-15T08:25:24.7497042Z             {
2026-06-15T08:25:24.7497364Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7497645Z               "line": 9096
2026-06-15T08:25:24.7497902Z             },
2026-06-15T08:25:24.7498174Z             {
2026-06-15T08:25:24.7498489Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7498771Z               "line": 9109
2026-06-15T08:25:24.7499176Z             },
2026-06-15T08:25:24.7499621Z             {
2026-06-15T08:25:24.7500059Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7500337Z               "line": 9118
2026-06-15T08:25:24.7500603Z             }
2026-06-15T08:25:24.7500856Z           ]
2026-06-15T08:25:24.7501108Z         }
2026-06-15T08:25:24.7501366Z       }
2026-06-15T08:25:24.7501623Z     },
2026-06-15T08:25:24.7501872Z     {
2026-06-15T08:25:24.7502159Z       "id": "REQ-PAIR-4",
2026-06-15T08:25:24.7502490Z       "title": "Subnet naming on first pairing",
2026-06-15T08:25:24.7502779Z       "requiredStages": [
2026-06-15T08:25:24.7503045Z         "impl",
2026-06-15T08:25:24.7503303Z         "unit"
2026-06-15T08:25:24.7503566Z       ],
2026-06-15T08:25:24.7503833Z       "stages": {
2026-06-15T08:25:24.7504086Z         "doc": {
2026-06-15T08:25:24.7504377Z           "complete": false,
2026-06-15T08:25:24.7504653Z           "evidence": []
2026-06-15T08:25:24.7504910Z         },
2026-06-15T08:25:24.7505172Z         "impl": {
2026-06-15T08:25:24.7505444Z           "complete": true,
2026-06-15T08:25:24.7505721Z           "evidence": [
2026-06-15T08:25:24.7505978Z             {
2026-06-15T08:25:24.7506345Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-15T08:25:24.7506617Z               "line": 174
2026-06-15T08:25:24.7506878Z             }
2026-06-15T08:25:24.7507126Z           ]
2026-06-15T08:25:24.7507388Z         },
2026-06-15T08:25:24.7507650Z         "int": {
2026-06-15T08:25:24.7507929Z           "complete": false,
2026-06-15T08:25:24.7508200Z           "evidence": []
2026-06-15T08:25:24.7508453Z         },
2026-06-15T08:25:24.7508720Z         "unit": {
2026-06-15T08:25:24.7509092Z           "complete": true,
2026-06-15T08:25:24.7509373Z           "evidence": [
2026-06-15T08:25:24.7509635Z             {
2026-06-15T08:25:24.7510138Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7510416Z               "line": 1294
2026-06-15T08:25:24.7510672Z             }
2026-06-15T08:25:24.7510934Z           ]
2026-06-15T08:25:24.7511183Z         }
2026-06-15T08:25:24.7511445Z       }
2026-06-15T08:25:24.7511702Z     },
2026-06-15T08:25:24.7511950Z     {
2026-06-15T08:25:24.7512341Z       "id": "REQ-PAIR-5",
2026-06-15T08:25:24.7513271Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-15T08:25:24.7513558Z       "requiredStages": [
2026-06-15T08:25:24.7513821Z         "impl",
2026-06-15T08:25:24.7514088Z         "unit",
2026-06-15T08:25:24.7514355Z         "int"
2026-06-15T08:25:24.7514603Z       ],
2026-06-15T08:25:24.7514864Z       "stages": {
2026-06-15T08:25:24.7515117Z         "doc": {
2026-06-15T08:25:24.7515413Z           "complete": false,
2026-06-15T08:25:24.7515685Z           "evidence": []
2026-06-15T08:25:24.7515941Z         },
2026-06-15T08:25:24.7516218Z         "impl": {
2026-06-15T08:25:24.7516499Z           "complete": true,
2026-06-15T08:25:24.7516775Z           "evidence": [
2026-06-15T08:25:24.7517024Z             {
2026-06-15T08:25:24.7517424Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7517696Z               "line": 44
2026-06-15T08:25:24.7517953Z             },
2026-06-15T08:25:24.7518219Z             {
2026-06-15T08:25:24.7518608Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7518885Z               "line": 96
2026-06-15T08:25:24.7519271Z             },
2026-06-15T08:25:24.7519543Z             {
2026-06-15T08:25:24.7519929Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7520209Z               "line": 107
2026-06-15T08:25:24.7520473Z             },
2026-06-15T08:25:24.7520717Z             {
2026-06-15T08:25:24.7521110Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7521385Z               "line": 124
2026-06-15T08:25:24.7521652Z             },
2026-06-15T08:25:24.7521894Z             {
2026-06-15T08:25:24.7522291Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7522567Z               "line": 155
2026-06-15T08:25:24.7522819Z             },
2026-06-15T08:25:24.7523077Z             {
2026-06-15T08:25:24.7523463Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7523746Z               "line": 195
2026-06-15T08:25:24.7524014Z             },
2026-06-15T08:25:24.7524276Z             {
2026-06-15T08:25:24.7524672Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7524943Z               "line": 251
2026-06-15T08:25:24.7525207Z             },
2026-06-15T08:25:24.7525458Z             {
2026-06-15T08:25:24.7525902Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7526180Z               "line": 33
2026-06-15T08:25:24.7526435Z             },
2026-06-15T08:25:24.7526701Z             {
2026-06-15T08:25:24.7527132Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7527417Z               "line": 45
2026-06-15T08:25:24.7527679Z             },
2026-06-15T08:25:24.7527937Z             {
2026-06-15T08:25:24.7528371Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7528646Z               "line": 59
2026-06-15T08:25:24.7528915Z             },
2026-06-15T08:25:24.7529225Z             {
2026-06-15T08:25:24.7529640Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7529907Z               "line": 376
2026-06-15T08:25:24.7530170Z             }
2026-06-15T08:25:24.7530427Z           ]
2026-06-15T08:25:24.7530681Z         },
2026-06-15T08:25:24.7530948Z         "int": {
2026-06-15T08:25:24.7531229Z           "complete": true,
2026-06-15T08:25:24.7531513Z           "evidence": [
2026-06-15T08:25:24.7531759Z             {
2026-06-15T08:25:24.7532140Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7532522Z               "line": 793
2026-06-15T08:25:24.7532779Z             },
2026-06-15T08:25:24.7533042Z             {
2026-06-15T08:25:24.7533433Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7533709Z               "line": 342
2026-06-15T08:25:24.7534065Z             }
2026-06-15T08:25:24.7534330Z           ]
2026-06-15T08:25:24.7534589Z         },
2026-06-15T08:25:24.7534837Z         "unit": {
2026-06-15T08:25:24.7535118Z           "complete": true,
2026-06-15T08:25:24.7535394Z           "evidence": [
2026-06-15T08:25:24.7535656Z             {
2026-06-15T08:25:24.7536043Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7536328Z               "line": 293
2026-06-15T08:25:24.7536581Z             },
2026-06-15T08:25:24.7536828Z             {
2026-06-15T08:25:24.7537209Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7537486Z               "line": 304
2026-06-15T08:25:24.7537744Z             },
2026-06-15T08:25:24.7537997Z             {
2026-06-15T08:25:24.7538378Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.7538656Z               "line": 406
2026-06-15T08:25:24.7538917Z             },
2026-06-15T08:25:24.7539254Z             {
2026-06-15T08:25:24.7539715Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7539987Z               "line": 72
2026-06-15T08:25:24.7540244Z             },
2026-06-15T08:25:24.7540501Z             {
2026-06-15T08:25:24.7540940Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7541212Z               "line": 82
2026-06-15T08:25:24.7541479Z             },
2026-06-15T08:25:24.7541726Z             {
2026-06-15T08:25:24.7542155Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7542438Z               "line": 100
2026-06-15T08:25:24.7542695Z             },
2026-06-15T08:25:24.7542953Z             {
2026-06-15T08:25:24.7543382Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7543668Z               "line": 110
2026-06-15T08:25:24.7543926Z             },
2026-06-15T08:25:24.7544197Z             {
2026-06-15T08:25:24.7544626Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-15T08:25:24.7544900Z               "line": 125
2026-06-15T08:25:24.7545172Z             },
2026-06-15T08:25:24.7545420Z             {
2026-06-15T08:25:24.7545816Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7546092Z               "line": 1044
2026-06-15T08:25:24.7546360Z             },
2026-06-15T08:25:24.7546622Z             {
2026-06-15T08:25:24.7547004Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7547281Z               "line": 1110
2026-06-15T08:25:24.7547530Z             },
2026-06-15T08:25:24.7547783Z             {
2026-06-15T08:25:24.7548169Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.7548451Z               "line": 1357
2026-06-15T08:25:24.7548714Z             }
2026-06-15T08:25:24.7549028Z           ]
2026-06-15T08:25:24.7549300Z         }
2026-06-15T08:25:24.7549559Z       }
2026-06-15T08:25:24.7549809Z     },
2026-06-15T08:25:24.7550068Z     {
2026-06-15T08:25:24.7550355Z       "id": "REQ-PAIR-6",
2026-06-15T08:25:24.7551171Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-15T08:25:24.7551458Z       "requiredStages": [
2026-06-15T08:25:24.7551719Z         "impl",
2026-06-15T08:25:24.7551972Z         "unit"
2026-06-15T08:25:24.7552234Z       ],
2026-06-15T08:25:24.7552496Z       "stages": {
2026-06-15T08:25:24.7552762Z         "doc": {
2026-06-15T08:25:24.7553070Z           "complete": false,
2026-06-15T08:25:24.7553337Z           "evidence": []
2026-06-15T08:25:24.7553628Z         },
2026-06-15T08:25:24.7553885Z         "impl": {
2026-06-15T08:25:24.7554276Z           "complete": true,
2026-06-15T08:25:24.7554548Z           "evidence": [
2026-06-15T08:25:24.7554805Z             {
2026-06-15T08:25:24.7555128Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7555394Z               "line": 2884
2026-06-15T08:25:24.7555652Z             },
2026-06-15T08:25:24.7556018Z             {
2026-06-15T08:25:24.7556342Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7556738Z               "line": 3265
2026-06-15T08:25:24.7557110Z             },
2026-06-15T08:25:24.7557488Z             {
2026-06-15T08:25:24.7557982Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.7558372Z               "line": 18
2026-06-15T08:25:24.7558720Z             },
2026-06-15T08:25:24.7559165Z             {
2026-06-15T08:25:24.7559688Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.7560071Z               "line": 49
2026-06-15T08:25:24.7560446Z             },
2026-06-15T08:25:24.7560807Z             {
2026-06-15T08:25:24.7561286Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.7561675Z               "line": 314
2026-06-15T08:25:24.7562051Z             }
2026-06-15T08:25:24.7562422Z           ]
2026-06-15T08:25:24.7562779Z         },
2026-06-15T08:25:24.7563151Z         "int": {
2026-06-15T08:25:24.7563563Z           "complete": false,
2026-06-15T08:25:24.7563964Z           "evidence": []
2026-06-15T08:25:24.7564331Z         },
2026-06-15T08:25:24.7564708Z         "unit": {
2026-06-15T08:25:24.7565113Z           "complete": true,
2026-06-15T08:25:24.7565505Z           "evidence": [
2026-06-15T08:25:24.7565874Z             {
2026-06-15T08:25:24.7566335Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7566626Z               "line": 9131
2026-06-15T08:25:24.7566997Z             },
2026-06-15T08:25:24.7567389Z             {
2026-06-15T08:25:24.7567847Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7568252Z               "line": 9148
2026-06-15T08:25:24.7568613Z             },
2026-06-15T08:25:24.7569033Z             {
2026-06-15T08:25:24.7569557Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.7569948Z               "line": 379
2026-06-15T08:25:24.7570321Z             },
2026-06-15T08:25:24.7570679Z             {
2026-06-15T08:25:24.7571156Z               "path": "crates/spt/src/elevation.rs",
2026-06-15T08:25:24.7571552Z               "line": 388
2026-06-15T08:25:24.7571920Z             }
2026-06-15T08:25:24.7572296Z           ]
2026-06-15T08:25:24.7572658Z         }
2026-06-15T08:25:24.7573020Z       }
2026-06-15T08:25:24.7573388Z     },
2026-06-15T08:25:24.7573758Z     {
2026-06-15T08:25:24.7574162Z       "id": "REQ-PAIR-7",
2026-06-15T08:25:24.7574863Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-15T08:25:24.7575277Z       "requiredStages": [],
2026-06-15T08:25:24.7575644Z       "stages": {
2026-06-15T08:25:24.7576017Z         "doc": {
2026-06-15T08:25:24.7576430Z           "complete": false,
2026-06-15T08:25:24.7576729Z           "evidence": []
2026-06-15T08:25:24.7577101Z         },
2026-06-15T08:25:24.7577477Z         "impl": {
2026-06-15T08:25:24.7577887Z           "complete": false,
2026-06-15T08:25:24.7578269Z           "evidence": []
2026-06-15T08:25:24.7578637Z         },
2026-06-15T08:25:24.7579055Z         "int": {
2026-06-15T08:25:24.7579478Z           "complete": false,
2026-06-15T08:25:24.7579889Z           "evidence": []
2026-06-15T08:25:24.7580242Z         },
2026-06-15T08:25:24.7580605Z         "unit": {
2026-06-15T08:25:24.7581009Z           "complete": false,
2026-06-15T08:25:24.7581404Z           "evidence": []
2026-06-15T08:25:24.7581754Z         }
2026-06-15T08:25:24.7582126Z       }
2026-06-15T08:25:24.7582494Z     },
2026-06-15T08:25:24.7582861Z     {
2026-06-15T08:25:24.7583271Z       "id": "REQ-PAIR-8",
2026-06-15T08:25:24.7588934Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-15T08:25:24.7589667Z       "requiredStages": [
2026-06-15T08:25:24.7590052Z         "impl",
2026-06-15T08:25:24.7590320Z         "unit"
2026-06-15T08:25:24.7590578Z       ],
2026-06-15T08:25:24.7590845Z       "stages": {
2026-06-15T08:25:24.7591103Z         "doc": {
2026-06-15T08:25:24.7591379Z           "complete": false,
2026-06-15T08:25:24.7591659Z           "evidence": []
2026-06-15T08:25:24.7591907Z         },
2026-06-15T08:25:24.7592164Z         "impl": {
2026-06-15T08:25:24.7592439Z           "complete": true,
2026-06-15T08:25:24.7592711Z           "evidence": [
2026-06-15T08:25:24.7592972Z             {
2026-06-15T08:25:24.7593355Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.7593660Z               "line": 577
2026-06-15T08:25:24.7593916Z             },
2026-06-15T08:25:24.7594165Z             {
2026-06-15T08:25:24.7594561Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7594826Z               "line": 22
2026-06-15T08:25:24.7595092Z             },
2026-06-15T08:25:24.7595359Z             {
2026-06-15T08:25:24.7595740Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7596016Z               "line": 76
2026-06-15T08:25:24.7596275Z             },
2026-06-15T08:25:24.7596537Z             {
2026-06-15T08:25:24.7596923Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7597200Z               "line": 127
2026-06-15T08:25:24.7597454Z             }
2026-06-15T08:25:24.7597710Z           ]
2026-06-15T08:25:24.7597968Z         },
2026-06-15T08:25:24.7598221Z         "int": {
2026-06-15T08:25:24.7598507Z           "complete": false,
2026-06-15T08:25:24.7598779Z           "evidence": []
2026-06-15T08:25:24.7599123Z         },
2026-06-15T08:25:24.7599404Z         "unit": {
2026-06-15T08:25:24.7599670Z           "complete": true,
2026-06-15T08:25:24.7599951Z           "evidence": [
2026-06-15T08:25:24.7600208Z             {
2026-06-15T08:25:24.7600594Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7600857Z               "line": 183
2026-06-15T08:25:24.7601114Z             },
2026-06-15T08:25:24.7601377Z             {
2026-06-15T08:25:24.7601758Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7602040Z               "line": 195
2026-06-15T08:25:24.7602297Z             },
2026-06-15T08:25:24.7602558Z             {
2026-06-15T08:25:24.7602946Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7603223Z               "line": 211
2026-06-15T08:25:24.7603484Z             },
2026-06-15T08:25:24.7603733Z             {
2026-06-15T08:25:24.7604123Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-15T08:25:24.7604396Z               "line": 227
2026-06-15T08:25:24.7604663Z             }
2026-06-15T08:25:24.7604916Z           ]
2026-06-15T08:25:24.7605160Z         }
2026-06-15T08:25:24.7605420Z       }
2026-06-15T08:25:24.7605666Z     },
2026-06-15T08:25:24.7605928Z     {
2026-06-15T08:25:24.7606215Z       "id": "REQ-PRES-1",
2026-06-15T08:25:24.7610192Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-15T08:25:24.7610492Z       "requiredStages": [
2026-06-15T08:25:24.7610849Z         "impl",
2026-06-15T08:25:24.7611116Z         "unit",
2026-06-15T08:25:24.7611369Z         "int"
2026-06-15T08:25:24.7611898Z       ],
2026-06-15T08:25:24.7612208Z       "stages": {
2026-06-15T08:25:24.7612509Z         "doc": {
2026-06-15T08:25:24.7612838Z           "complete": true,
2026-06-15T08:25:24.7613122Z           "evidence": [
2026-06-15T08:25:24.7613378Z             {
2026-06-15T08:25:24.7613688Z               "path": "docs/DEFERRED.md",
2026-06-15T08:25:24.7614083Z               "line": 11
2026-06-15T08:25:24.7614350Z             }
2026-06-15T08:25:24.7614608Z           ]
2026-06-15T08:25:24.7614866Z         },
2026-06-15T08:25:24.7615124Z         "impl": {
2026-06-15T08:25:24.7615415Z           "complete": true,
2026-06-15T08:25:24.7615686Z           "evidence": [
2026-06-15T08:25:24.7615946Z             {
2026-06-15T08:25:24.7616321Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7616602Z               "line": 515
2026-06-15T08:25:24.7616851Z             },
2026-06-15T08:25:24.7617108Z             {
2026-06-15T08:25:24.7617494Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.7617771Z               "line": 567
2026-06-15T08:25:24.7618034Z             },
2026-06-15T08:25:24.7618292Z             {
2026-06-15T08:25:24.7618642Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7618921Z               "line": 188
2026-06-15T08:25:24.7619265Z             },
2026-06-15T08:25:24.7619540Z             {
2026-06-15T08:25:24.7619885Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7620161Z               "line": 214
2026-06-15T08:25:24.7620418Z             },
2026-06-15T08:25:24.7620666Z             {
2026-06-15T08:25:24.7621033Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7621305Z               "line": 28
2026-06-15T08:25:24.7621572Z             },
2026-06-15T08:25:24.7621824Z             {
2026-06-15T08:25:24.7622201Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7622493Z               "line": 105
2026-06-15T08:25:24.7622759Z             },
2026-06-15T08:25:24.7623016Z             {
2026-06-15T08:25:24.7623388Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7623654Z               "line": 161
2026-06-15T08:25:24.7623914Z             },
2026-06-15T08:25:24.7624168Z             {
2026-06-15T08:25:24.7624543Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7624820Z               "line": 180
2026-06-15T08:25:24.7625083Z             },
2026-06-15T08:25:24.7625340Z             {
2026-06-15T08:25:24.7625736Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7626009Z               "line": 415
2026-06-15T08:25:24.7626275Z             },
2026-06-15T08:25:24.7626544Z             {
2026-06-15T08:25:24.7626914Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.7627190Z               "line": 289
2026-06-15T08:25:24.7627439Z             },
2026-06-15T08:25:24.7627692Z             {
2026-06-15T08:25:24.7628069Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.7628345Z               "line": 336
2026-06-15T08:25:24.7628618Z             },
2026-06-15T08:25:24.7628880Z             {
2026-06-15T08:25:24.7629311Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.7629577Z               "line": 362
2026-06-15T08:25:24.7629849Z             },
2026-06-15T08:25:24.7630101Z             {
2026-06-15T08:25:24.7630469Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.7630740Z               "line": 100
2026-06-15T08:25:24.7630997Z             }
2026-06-15T08:25:24.7631254Z           ]
2026-06-15T08:25:24.7631513Z         },
2026-06-15T08:25:24.7631786Z         "int": {
2026-06-15T08:25:24.7632060Z           "complete": true,
2026-06-15T08:25:24.7632331Z           "evidence": [
2026-06-15T08:25:24.7632579Z             {
2026-06-15T08:25:24.7632956Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7633232Z               "line": 559
2026-06-15T08:25:24.7633600Z             },
2026-06-15T08:25:24.7633853Z             {
2026-06-15T08:25:24.7634214Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7634493Z               "line": 678
2026-06-15T08:25:24.7634751Z             },
2026-06-15T08:25:24.7635004Z             {
2026-06-15T08:25:24.7635470Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7635747Z               "line": 1071
2026-06-15T08:25:24.7636014Z             }
2026-06-15T08:25:24.7640051Z           ]
2026-06-15T08:25:24.7640346Z         },
2026-06-15T08:25:24.7640622Z         "unit": {
2026-06-15T08:25:24.7640909Z           "complete": true,
2026-06-15T08:25:24.7641186Z           "evidence": [
2026-06-15T08:25:24.7641439Z             {
2026-06-15T08:25:24.7641801Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.7642078Z               "line": 659
2026-06-15T08:25:24.7642331Z             },
2026-06-15T08:25:24.7642596Z             {
2026-06-15T08:25:24.7642988Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7643264Z               "line": 238
2026-06-15T08:25:24.7643526Z             },
2026-06-15T08:25:24.7643788Z             {
2026-06-15T08:25:24.7644160Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7644427Z               "line": 269
2026-06-15T08:25:24.7644698Z             },
2026-06-15T08:25:24.7644964Z             {
2026-06-15T08:25:24.7645335Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7645602Z               "line": 305
2026-06-15T08:25:24.7645860Z             },
2026-06-15T08:25:24.7646122Z             {
2026-06-15T08:25:24.7646499Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-15T08:25:24.7646771Z               "line": 336
2026-06-15T08:25:24.7647022Z             },
2026-06-15T08:25:24.7647285Z             {
2026-06-15T08:25:24.7647674Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.7647954Z               "line": 1165
2026-06-15T08:25:24.7648207Z             },
2026-06-15T08:25:24.7648460Z             {
2026-06-15T08:25:24.7648827Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.7649170Z               "line": 1131
2026-06-15T08:25:24.7649446Z             }
2026-06-15T08:25:24.7649714Z           ]
2026-06-15T08:25:24.7649977Z         }
2026-06-15T08:25:24.7650227Z       }
2026-06-15T08:25:24.7650483Z     },
2026-06-15T08:25:24.7650750Z     {
2026-06-15T08:25:24.7651022Z       "id": "REQ-RC-1",
2026-06-15T08:25:24.7656868Z       "title": "`spt rc <id>` — user CLI attaching a local terminal to a broker-held PTY, reusing the cross-node attach machinery (attach.rs request_attach → send_attach_input pump, spt-net AttachRecord codec); local attach is the degenerate single-node case of the cross-node path (rides REQ-TERM-3 byte-stream streaming). Read-only `--view` (watch, no stdin forwarded). Clean detach that does NOT terminate the broker-held session (KNOWN-HAZARDS: PTY ownership stays with the broker; no termination on detach). Explicit detach keybind that cannot collide with harness passthrough input (legacy capsule used a ctrl-b prefix); documented. ConPTY DSR auto-answer in the attach reader (hazard 5.5).",
2026-06-15T08:25:24.7657178Z       "requiredStages": [
2026-06-15T08:25:24.7657463Z         "impl",
2026-06-15T08:25:24.7657727Z         "unit",
2026-06-15T08:25:24.7657984Z         "int"
2026-06-15T08:25:24.7658244Z       ],
2026-06-15T08:25:24.7658509Z       "stages": {
2026-06-15T08:25:24.7658772Z         "doc": {
2026-06-15T08:25:24.7659133Z           "complete": false,
2026-06-15T08:25:24.7659415Z           "evidence": []
2026-06-15T08:25:24.7659663Z         },
2026-06-15T08:25:24.7659917Z         "impl": {
2026-06-15T08:25:24.7660217Z           "complete": true,
2026-06-15T08:25:24.7660493Z           "evidence": [
2026-06-15T08:25:24.7660745Z             {
2026-06-15T08:25:24.7661108Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.7661548Z               "line": 895
2026-06-15T08:25:24.7661805Z             },
2026-06-15T08:25:24.7662062Z             {
2026-06-15T08:25:24.7662440Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.7662721Z               "line": 1168
2026-06-15T08:25:24.7662983Z             },
2026-06-15T08:25:24.7663345Z             {
2026-06-15T08:25:24.7663697Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.7663973Z               "line": 816
2026-06-15T08:25:24.7664232Z             },
2026-06-15T08:25:24.7664499Z             {
2026-06-15T08:25:24.7664866Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.7665138Z               "line": 850
2026-06-15T08:25:24.7665405Z             },
2026-06-15T08:25:24.7665653Z             {
2026-06-15T08:25:24.7665980Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7666254Z               "line": 22
2026-06-15T08:25:24.7666521Z             },
2026-06-15T08:25:24.7666779Z             {
2026-06-15T08:25:24.7667099Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7667370Z               "line": 181
2026-06-15T08:25:24.7667629Z             }
2026-06-15T08:25:24.7667896Z           ]
2026-06-15T08:25:24.7668152Z         },
2026-06-15T08:25:24.7668415Z         "int": {
2026-06-15T08:25:24.7668700Z           "complete": true,
2026-06-15T08:25:24.7669078Z           "evidence": [
2026-06-15T08:25:24.7669346Z             {
2026-06-15T08:25:24.7669717Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7669999Z               "line": 252
2026-06-15T08:25:24.7670256Z             },
2026-06-15T08:25:24.7670515Z             {
2026-06-15T08:25:24.7670895Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7671164Z               "line": 279
2026-06-15T08:25:24.7671423Z             },
2026-06-15T08:25:24.7671673Z             {
2026-06-15T08:25:24.7672046Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7672317Z               "line": 404
2026-06-15T08:25:24.7672575Z             }
2026-06-15T08:25:24.7672838Z           ]
2026-06-15T08:25:24.7673095Z         },
2026-06-15T08:25:24.7673368Z         "unit": {
2026-06-15T08:25:24.7673644Z           "complete": true,
2026-06-15T08:25:24.7673911Z           "evidence": [
2026-06-15T08:25:24.7674162Z             {
2026-06-15T08:25:24.7674529Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.7674815Z               "line": 1098
2026-06-15T08:25:24.7675059Z             },
2026-06-15T08:25:24.7675317Z             {
2026-06-15T08:25:24.7675632Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7675914Z               "line": 422
2026-06-15T08:25:24.7676165Z             },
2026-06-15T08:25:24.7676416Z             {
2026-06-15T08:25:24.7676734Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7677010Z               "line": 451
2026-06-15T08:25:24.7677264Z             },
2026-06-15T08:25:24.7677526Z             {
2026-06-15T08:25:24.7677836Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7678102Z               "line": 464
2026-06-15T08:25:24.7678359Z             }
2026-06-15T08:25:24.7678621Z           ]
2026-06-15T08:25:24.7678871Z         }
2026-06-15T08:25:24.7679214Z       }
2026-06-15T08:25:24.7679479Z     },
2026-06-15T08:25:24.7679739Z     {
2026-06-15T08:25:24.7680020Z       "id": "REQ-RCVIEW-1",
2026-06-15T08:25:24.7692817Z       "title": "Remote-attach controller/viewer model (CONTEXT.md:317): a session's broker OutputLog serves ONE interactive controller (input + EXCLUSIVE PTY resize; its viewport sets the size, sent on attach + every window change via crossterm Event::Resize) plus ANY NUMBER of read-only `--view` attachers (output-only, no input, no resize; client-side letterbox — center+pad when larger, clip+1-line indicator when smaller; only the local ctrl-b d detach chord). Attach intent is three-valued (`Viewer | Control | Take`, wire-default Control): Control to a FREE endpoint becomes controller, Control to a CONTROLLED endpoint is REFUSED with guidance (`--view`/`--take`) — never auto-viewer, never silent-displace. Wire adds (additive, N-1 skip-unknown): `Request.intent`, `Resize{rows,cols}` (controller-only), `Size{rows,cols}` (→viewer), `Displaced{by}` (→displaced controller). The brain-resume cursor (delivered_through, ADR-0018) tracks the CONTROLLER ONLY; viewers replay from their own from_seq and never move it. Dormancy keys on the controller ONLY: controller attach wakes / controller detach goes dormant (even with viewers present); viewer attach/detach is wake-neutral and may watch a dormant endpoint as-is. v1: viewing is gated identically to driving — a viewer runs the same access_check(Unsolicited) as a controller (watching reveals full session contents = a real disclosure); a lighter distinct watch-gate is deferred to cross-subnet/finer-consent (CONTEXT.md:317 'driving ≠ watching' = the future seam).",
2026-06-15T08:25:24.7693352Z       "requiredStages": [
2026-06-15T08:25:24.7693634Z         "doc",
2026-06-15T08:25:24.7693892Z         "impl",
2026-06-15T08:25:24.7694140Z         "unit",
2026-06-15T08:25:24.7694392Z         "int"
2026-06-15T08:25:24.7694649Z       ],
2026-06-15T08:25:24.7694916Z       "stages": {
2026-06-15T08:25:24.7695184Z         "doc": {
2026-06-15T08:25:24.7695469Z           "complete": true,
2026-06-15T08:25:24.7695759Z           "evidence": [
2026-06-15T08:25:24.7696016Z             {
2026-06-15T08:25:24.7696317Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7696598Z               "line": 320
2026-06-15T08:25:24.7696851Z             }
2026-06-15T08:25:24.7697109Z           ]
2026-06-15T08:25:24.7697363Z         },
2026-06-15T08:25:24.7697632Z         "impl": {
2026-06-15T08:25:24.7697910Z           "complete": true,
2026-06-15T08:25:24.7698169Z           "evidence": [
2026-06-15T08:25:24.7698431Z             {
2026-06-15T08:25:24.7698793Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-15T08:25:24.7699146Z               "line": 323
2026-06-15T08:25:24.7699404Z             },
2026-06-15T08:25:24.7699662Z             {
2026-06-15T08:25:24.7700019Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.7700292Z               "line": 430
2026-06-15T08:25:24.7700562Z             },
2026-06-15T08:25:24.7700816Z             {
2026-06-15T08:25:24.7701179Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.7701450Z               "line": 441
2026-06-15T08:25:24.7701717Z             },
2026-06-15T08:25:24.7701965Z             {
2026-06-15T08:25:24.7702338Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.7702628Z               "line": 41
2026-06-15T08:25:24.7702891Z             },
2026-06-15T08:25:24.7703152Z             {
2026-06-15T08:25:24.7703503Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.7703780Z               "line": 62
2026-06-15T08:25:24.7704036Z             },
2026-06-15T08:25:24.7704298Z             {
2026-06-15T08:25:24.7704647Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.7704913Z               "line": 255
2026-06-15T08:25:24.7705170Z             },
2026-06-15T08:25:24.7705420Z             {
2026-06-15T08:25:24.7705731Z               "path": "crates/spt/src/rc.rs",
2026-06-15T08:25:24.7706005Z               "line": 181
2026-06-15T08:25:24.7706262Z             }
2026-06-15T08:25:24.7706519Z           ]
2026-06-15T08:25:24.7706778Z         },
2026-06-15T08:25:24.7707035Z         "int": {
2026-06-15T08:25:24.7707317Z           "complete": true,
2026-06-15T08:25:24.7707589Z           "evidence": [
2026-06-15T08:25:24.7707845Z             {
2026-06-15T08:25:24.7708216Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7708490Z               "line": 789
2026-06-15T08:25:24.7708743Z             },
2026-06-15T08:25:24.7709062Z             {
2026-06-15T08:25:24.7709429Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7709807Z               "line": 829
2026-06-15T08:25:24.7710064Z             },
2026-06-15T08:25:24.7710316Z             {
2026-06-15T08:25:24.7710689Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7710960Z               "line": 876
2026-06-15T08:25:24.7711225Z             },
2026-06-15T08:25:24.7711487Z             {
2026-06-15T08:25:24.7711939Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7712221Z               "line": 988
2026-06-15T08:25:24.7712483Z             }
2026-06-15T08:25:24.7712741Z           ]
2026-06-15T08:25:24.7712989Z         },
2026-06-15T08:25:24.7713255Z         "unit": {
2026-06-15T08:25:24.7713540Z           "complete": true,
2026-06-15T08:25:24.7713815Z           "evidence": [
2026-06-15T08:25:24.7714068Z             {
2026-06-15T08:25:24.7714425Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.7714702Z               "line": 175
2026-06-15T08:25:24.7714946Z             },
2026-06-15T08:25:24.7715221Z             {
2026-06-15T08:25:24.7715575Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-15T08:25:24.7715851Z               "line": 195
2026-06-15T08:25:24.7716118Z             }
2026-06-15T08:25:24.7716379Z           ]
2026-06-15T08:25:24.7716637Z         }
2026-06-15T08:25:24.7716894Z       }
2026-06-15T08:25:24.7717151Z     },
2026-06-15T08:25:24.7717413Z     {
2026-06-15T08:25:24.7717699Z       "id": "REQ-REACH-1",
2026-06-15T08:25:24.7718144Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-15T08:25:24.7718439Z       "requiredStages": [
2026-06-15T08:25:24.7718709Z         "impl",
2026-06-15T08:25:24.7719026Z         "unit",
2026-06-15T08:25:24.7719294Z         "int"
2026-06-15T08:25:24.7719557Z       ],
2026-06-15T08:25:24.7719828Z       "stages": {
2026-06-15T08:25:24.7720086Z         "doc": {
2026-06-15T08:25:24.7720372Z           "complete": false,
2026-06-15T08:25:24.7720652Z           "evidence": []
2026-06-15T08:25:24.7720901Z         },
2026-06-15T08:25:24.7721172Z         "impl": {
2026-06-15T08:25:24.7721444Z           "complete": true,
2026-06-15T08:25:24.7721720Z           "evidence": [
2026-06-15T08:25:24.7721970Z             {
2026-06-15T08:25:24.7722338Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.7722609Z               "line": 430
2026-06-15T08:25:24.7722871Z             },
2026-06-15T08:25:24.7723129Z             {
2026-06-15T08:25:24.7723472Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7723748Z               "line": 76
2026-06-15T08:25:24.7724007Z             },
2026-06-15T08:25:24.7724263Z             {
2026-06-15T08:25:24.7724604Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7724871Z               "line": 222
2026-06-15T08:25:24.7725137Z             },
2026-06-15T08:25:24.7725395Z             {
2026-06-15T08:25:24.7725738Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7726020Z               "line": 422
2026-06-15T08:25:24.7726282Z             },
2026-06-15T08:25:24.7726540Z             {
2026-06-15T08:25:24.7726883Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7727149Z               "line": 529
2026-06-15T08:25:24.7727401Z             },
2026-06-15T08:25:24.7727663Z             {
2026-06-15T08:25:24.7728017Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-15T08:25:24.7728278Z               "line": 39
2026-06-15T08:25:24.7728536Z             },
2026-06-15T08:25:24.7728799Z             {
2026-06-15T08:25:24.7729198Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.7729492Z               "line": 239
2026-06-15T08:25:24.7729759Z             },
2026-06-15T08:25:24.7730026Z             {
2026-06-15T08:25:24.7730365Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-15T08:25:24.7730641Z               "line": 88
2026-06-15T08:25:24.7730898Z             },
2026-06-15T08:25:24.7731150Z             {
2026-06-15T08:25:24.7731494Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-15T08:25:24.7731872Z               "line": 98
2026-06-15T08:25:24.7732137Z             },
2026-06-15T08:25:24.7732382Z             {
2026-06-15T08:25:24.7732754Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7733021Z               "line": 229
2026-06-15T08:25:24.7733284Z             }
2026-06-15T08:25:24.7733632Z           ]
2026-06-15T08:25:24.7733894Z         },
2026-06-15T08:25:24.7734153Z         "int": {
2026-06-15T08:25:24.7734429Z           "complete": true,
2026-06-15T08:25:24.7734712Z           "evidence": [
2026-06-15T08:25:24.7734964Z             {
2026-06-15T08:25:24.7735344Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7735621Z               "line": 415
2026-06-15T08:25:24.7735879Z             },
2026-06-15T08:25:24.7736137Z             {
2026-06-15T08:25:24.7736504Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.7736785Z               "line": 516
2026-06-15T08:25:24.7737044Z             },
2026-06-15T08:25:24.7737310Z             {
2026-06-15T08:25:24.7737676Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7737943Z               "line": 904
2026-06-15T08:25:24.7738200Z             },
2026-06-15T08:25:24.7738449Z             {
2026-06-15T08:25:24.7738825Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.7739168Z               "line": 1199
2026-06-15T08:25:24.7739454Z             }
2026-06-15T08:25:24.7739726Z           ]
2026-06-15T08:25:24.7739987Z         },
2026-06-15T08:25:24.7740257Z         "unit": {
2026-06-15T08:25:24.7740528Z           "complete": true,
2026-06-15T08:25:24.7740814Z           "evidence": [
2026-06-15T08:25:24.7741067Z             {
2026-06-15T08:25:24.7741410Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7741683Z               "line": 639
2026-06-15T08:25:24.7741944Z             },
2026-06-15T08:25:24.7742198Z             {
2026-06-15T08:25:24.7742547Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-15T08:25:24.7742826Z               "line": 660
2026-06-15T08:25:24.7743081Z             },
2026-06-15T08:25:24.7743333Z             {
2026-06-15T08:25:24.7743695Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-15T08:25:24.7743967Z               "line": 646
2026-06-15T08:25:24.7744235Z             },
2026-06-15T08:25:24.7744492Z             {
2026-06-15T08:25:24.7744854Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-15T08:25:24.7745127Z               "line": 93
2026-06-15T08:25:24.7745388Z             },
2026-06-15T08:25:24.7745643Z             {
2026-06-15T08:25:24.7745996Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-15T08:25:24.7746277Z               "line": 224
2026-06-15T08:25:24.7746525Z             },
2026-06-15T08:25:24.7746787Z             {
2026-06-15T08:25:24.7747135Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-15T08:25:24.7747411Z               "line": 96
2026-06-15T08:25:24.7747679Z             },
2026-06-15T08:25:24.7747933Z             {
2026-06-15T08:25:24.7748284Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-15T08:25:24.7748551Z               "line": 146
2026-06-15T08:25:24.7748812Z             },
2026-06-15T08:25:24.7749117Z             {
2026-06-15T08:25:24.7749476Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.7749756Z               "line": 529
2026-06-15T08:25:24.7750009Z             },
2026-06-15T08:25:24.7750271Z             {
2026-06-15T08:25:24.7750608Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-15T08:25:24.7750899Z               "line": 118
2026-06-15T08:25:24.7751161Z             },
2026-06-15T08:25:24.7751418Z             {
2026-06-15T08:25:24.7751766Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-15T08:25:24.7752037Z               "line": 148
2026-06-15T08:25:24.7752299Z             },
2026-06-15T08:25:24.7752557Z             {
2026-06-15T08:25:24.7752924Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7753324Z               "line": 802
2026-06-15T08:25:24.7753583Z             }
2026-06-15T08:25:24.7753841Z           ]
2026-06-15T08:25:24.7754104Z         }
2026-06-15T08:25:24.7754357Z       }
2026-06-15T08:25:24.7754604Z     },
2026-06-15T08:25:24.7754866Z     {
2026-06-15T08:25:24.7755244Z       "id": "REQ-REACH-2",
2026-06-15T08:25:24.7755719Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-15T08:25:24.7756014Z       "requiredStages": [],
2026-06-15T08:25:24.7756284Z       "stages": {
2026-06-15T08:25:24.7756546Z         "doc": {
2026-06-15T08:25:24.7756832Z           "complete": false,
2026-06-15T08:25:24.7757113Z           "evidence": []
2026-06-15T08:25:24.7757366Z         },
2026-06-15T08:25:24.7757633Z         "impl": {
2026-06-15T08:25:24.7757910Z           "complete": false,
2026-06-15T08:25:24.7758188Z           "evidence": []
2026-06-15T08:25:24.7758454Z         },
2026-06-15T08:25:24.7758724Z         "int": {
2026-06-15T08:25:24.7759072Z           "complete": false,
2026-06-15T08:25:24.7759348Z           "evidence": []
2026-06-15T08:25:24.7759606Z         },
2026-06-15T08:25:24.7759869Z         "unit": {
2026-06-15T08:25:24.7760146Z           "complete": false,
2026-06-15T08:25:24.7760409Z           "evidence": []
2026-06-15T08:25:24.7760670Z         }
2026-06-15T08:25:24.7760931Z       }
2026-06-15T08:25:24.7761186Z     },
2026-06-15T08:25:24.7761440Z     {
2026-06-15T08:25:24.7761692Z       "id": "REQ-REL-1",
2026-06-15T08:25:24.7762850Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-15T08:25:24.7763122Z       "requiredStages": [
2026-06-15T08:25:24.7763366Z         "doc",
2026-06-15T08:25:24.7763614Z         "impl"
2026-06-15T08:25:24.7763831Z       ],
2026-06-15T08:25:24.7764073Z       "stages": {
2026-06-15T08:25:24.7764311Z         "doc": {
2026-06-15T08:25:24.7764564Z           "complete": true,
2026-06-15T08:25:24.7764825Z           "evidence": [
2026-06-15T08:25:24.7765064Z             {
2026-06-15T08:25:24.7765694Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-15T08:25:24.7765946Z               "line": 3
2026-06-15T08:25:24.7766181Z             }
2026-06-15T08:25:24.7766426Z           ]
2026-06-15T08:25:24.7766658Z         },
2026-06-15T08:25:24.7766898Z         "impl": {
2026-06-15T08:25:24.7767155Z           "complete": true,
2026-06-15T08:25:24.7767402Z           "evidence": [
2026-06-15T08:25:24.7767630Z             {
2026-06-15T08:25:24.7767988Z               "path": ".github/workflows/docs-publish.yml",
2026-06-15T08:25:24.7768246Z               "line": 11
2026-06-15T08:25:24.7768480Z             },
2026-06-15T08:25:24.7768709Z             {
2026-06-15T08:25:24.7769072Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7769323Z               "line": 265
2026-06-15T08:25:24.7769556Z             }
2026-06-15T08:25:24.7769800Z           ]
2026-06-15T08:25:24.7770029Z         },
2026-06-15T08:25:24.7770267Z         "int": {
2026-06-15T08:25:24.7770533Z           "complete": false,
2026-06-15T08:25:24.7770787Z           "evidence": []
2026-06-15T08:25:24.7771020Z         },
2026-06-15T08:25:24.7771264Z         "unit": {
2026-06-15T08:25:24.7771529Z           "complete": false,
2026-06-15T08:25:24.7771775Z           "evidence": []
2026-06-15T08:25:24.7772009Z         }
2026-06-15T08:25:24.7772252Z       }
2026-06-15T08:25:24.7772480Z     },
2026-06-15T08:25:24.7772714Z     {
2026-06-15T08:25:24.7772967Z       "id": "REQ-REL-2",
2026-06-15T08:25:24.7774453Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-15T08:25:24.7774732Z       "requiredStages": [
2026-06-15T08:25:24.7774967Z         "impl",
2026-06-15T08:25:24.7775215Z         "int"
2026-06-15T08:25:24.7775553Z       ],
2026-06-15T08:25:24.7775792Z       "stages": {
2026-06-15T08:25:24.7776034Z         "doc": {
2026-06-15T08:25:24.7776291Z           "complete": true,
2026-06-15T08:25:24.7776535Z           "evidence": [
2026-06-15T08:25:24.7776770Z             {
2026-06-15T08:25:24.7777092Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-15T08:25:24.7777429Z               "line": 6
2026-06-15T08:25:24.7777676Z             }
2026-06-15T08:25:24.7777914Z           ]
2026-06-15T08:25:24.7778144Z         },
2026-06-15T08:25:24.7778378Z         "impl": {
2026-06-15T08:25:24.7778635Z           "complete": true,
2026-06-15T08:25:24.7778883Z           "evidence": [
2026-06-15T08:25:24.7779168Z             {
2026-06-15T08:25:24.7779507Z               "path": ".github/workflows/release.yml",
2026-06-15T08:25:24.7779759Z               "line": 16
2026-06-15T08:25:24.7779988Z             },
2026-06-15T08:25:24.7780217Z             {
2026-06-15T08:25:24.7780512Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7780769Z               "line": 352
2026-06-15T08:25:24.7780998Z             },
2026-06-15T08:25:24.7781238Z             {
2026-06-15T08:25:24.7781543Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7781780Z               "line": 426
2026-06-15T08:25:24.7782023Z             },
2026-06-15T08:25:24.7782260Z             {
2026-06-15T08:25:24.7782584Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7782836Z               "line": 588
2026-06-15T08:25:24.7783074Z             },
2026-06-15T08:25:24.7783303Z             {
2026-06-15T08:25:24.7783594Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7783851Z               "line": 720
2026-06-15T08:25:24.7784077Z             }
2026-06-15T08:25:24.7784318Z           ]
2026-06-15T08:25:24.7784557Z         },
2026-06-15T08:25:24.7784791Z         "int": {
2026-06-15T08:25:24.7785066Z           "complete": true,
2026-06-15T08:25:24.7785307Z           "evidence": [
2026-06-15T08:25:24.7785545Z             {
2026-06-15T08:25:24.7785912Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-15T08:25:24.7786170Z               "line": 13
2026-06-15T08:25:24.7786404Z             }
2026-06-15T08:25:24.7786643Z           ]
2026-06-15T08:25:24.7786880Z         },
2026-06-15T08:25:24.7787109Z         "unit": {
2026-06-15T08:25:24.7787368Z           "complete": false,
2026-06-15T08:25:24.7787623Z           "evidence": []
2026-06-15T08:25:24.7787854Z         }
2026-06-15T08:25:24.7788084Z       }
2026-06-15T08:25:24.7788313Z     },
2026-06-15T08:25:24.7788542Z     {
2026-06-15T08:25:24.7788789Z       "id": "REQ-REL-3",
2026-06-15T08:25:24.7790202Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-15T08:25:24.7790467Z       "requiredStages": [
2026-06-15T08:25:24.7790714Z         "impl",
2026-06-15T08:25:24.7790949Z         "unit"
2026-06-15T08:25:24.7791183Z       ],
2026-06-15T08:25:24.7791430Z       "stages": {
2026-06-15T08:25:24.7791663Z         "doc": {
2026-06-15T08:25:24.7791931Z           "complete": false,
2026-06-15T08:25:24.7792178Z           "evidence": []
2026-06-15T08:25:24.7792409Z         },
2026-06-15T08:25:24.7792644Z         "impl": {
2026-06-15T08:25:24.7792910Z           "complete": true,
2026-06-15T08:25:24.7793172Z           "evidence": [
2026-06-15T08:25:24.7793401Z             {
2026-06-15T08:25:24.7793749Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.7793993Z               "line": 237
2026-06-15T08:25:24.7794225Z             },
2026-06-15T08:25:24.7794460Z             {
2026-06-15T08:25:24.7794812Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.7795064Z               "line": 289
2026-06-15T08:25:24.7795295Z             },
2026-06-15T08:25:24.7795530Z             {
2026-06-15T08:25:24.7795833Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7796091Z               "line": 329
2026-06-15T08:25:24.7796434Z             },
2026-06-15T08:25:24.7796669Z             {
2026-06-15T08:25:24.7796983Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7797232Z               "line": 353
2026-06-15T08:25:24.7797465Z             },
2026-06-15T08:25:24.7797698Z             {
2026-06-15T08:25:24.7798102Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.7798348Z               "line": 394
2026-06-15T08:25:24.7798588Z             }
2026-06-15T08:25:24.7798826Z           ]
2026-06-15T08:25:24.7799126Z         },
2026-06-15T08:25:24.7799373Z         "int": {
2026-06-15T08:25:24.7799631Z           "complete": false,
2026-06-15T08:25:24.7799883Z           "evidence": []
2026-06-15T08:25:24.7800118Z         },
2026-06-15T08:25:24.7800356Z         "unit": {
2026-06-15T08:25:24.7800618Z           "complete": true,
2026-06-15T08:25:24.7800870Z           "evidence": [
2026-06-15T08:25:24.7801109Z             {
2026-06-15T08:25:24.7801451Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.7801705Z               "line": 992
2026-06-15T08:25:24.7801933Z             },
2026-06-15T08:25:24.7802162Z             {
2026-06-15T08:25:24.7802510Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.7802757Z               "line": 1051
2026-06-15T08:25:24.7802998Z             }
2026-06-15T08:25:24.7803223Z           ]
2026-06-15T08:25:24.7803465Z         }
2026-06-15T08:25:24.7803690Z       }
2026-06-15T08:25:24.7803918Z     },
2026-06-15T08:25:24.7804156Z     {
2026-06-15T08:25:24.7804418Z       "id": "REQ-RUN-PICKER",
2026-06-15T08:25:24.7817917Z       "title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) enters an in-process picker (flags-present = the REQ-HOST-RUN-1 non-interactive path, untouched). Layer 1 picks kind (Create new | Pick existing). Create-new: choose a registered kind=\"harness\" adapter with its shipped+local profiles tree-nested (registry::registered / manifest.profiles / local_profile_names) → enter a charset-validated id → start. Pick-existing: category select (left/right) over [<cwd-project> | Local node | Subnet], endpoints grouped + alphabetically sorted per category, a status square per endpoint (online green ■ / offline gray ▢ — the blue \"attached\" tri-state + Kick are DEFERRED to a broker attach-presence slice, M12-W2-RULING Q1), type-to-filter (`/`, nucleo-matcher), a pinned keybind legend, and a right-half two-pane description (harness adapter:profile · best-effort project history newest→oldest from the contextstore p-<project> branches, empty-if-none · `spt endpoint description`). Confirm layer offers status-dependent options — Attach/Start/View (rc pump / cmd_endpoint_run) · Instantiate-locally (remote) · Change-harness-adapter (offline) · Fork (cmd_fork) · Resume-from-history (offline+LOCAL only; enumerate spt_store::sessions::last_k, titles `<project> @ <ts> (…id5)`, feed session_id → cmd_endpoint_run --resume). A single action enum is the source of truth so a future tap-mode (phone PTY) layers on without re-coupling to keybinds. EVERY terminal action routes through cmd_endpoint_run / existing CLI fns — no second bringup path.",
2026-06-15T08:25:24.7818251Z       "requiredStages": [
2026-06-15T08:25:24.7818494Z         "doc",
2026-06-15T08:25:24.7818737Z         "impl",
2026-06-15T08:25:24.7819048Z         "unit"
2026-06-15T08:25:24.7819275Z       ],
2026-06-15T08:25:24.7819525Z       "stages": {
2026-06-15T08:25:24.7819754Z         "doc": {
2026-06-15T08:25:24.7820017Z           "complete": true,
2026-06-15T08:25:24.7820270Z           "evidence": [
2026-06-15T08:25:24.7820508Z             {
2026-06-15T08:25:24.7820775Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7821032Z               "line": 324
2026-06-15T08:25:24.7821266Z             }
2026-06-15T08:25:24.7821501Z           ]
2026-06-15T08:25:24.7821734Z         },
2026-06-15T08:25:24.7821980Z         "impl": {
2026-06-15T08:25:24.7822239Z           "complete": true,
2026-06-15T08:25:24.7822610Z           "evidence": [
2026-06-15T08:25:24.7822854Z             {
2026-06-15T08:25:24.7823154Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7823411Z               "line": 861
2026-06-15T08:25:24.7823644Z             },
2026-06-15T08:25:24.7823887Z             {
2026-06-15T08:25:24.7824178Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7824552Z               "line": 871
2026-06-15T08:25:24.7824786Z             },
2026-06-15T08:25:24.7825014Z             {
2026-06-15T08:25:24.7825349Z               "path": "crates/spt/src/picker/data.rs",
2026-06-15T08:25:24.7825591Z               "line": 9
2026-06-15T08:25:24.7825835Z             },
2026-06-15T08:25:24.7826078Z             {
2026-06-15T08:25:24.7826402Z               "path": "crates/spt/src/picker/data.rs",
2026-06-15T08:25:24.7826651Z               "line": 67
2026-06-15T08:25:24.7826879Z             },
2026-06-15T08:25:24.7827111Z             {
2026-06-15T08:25:24.7827433Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-15T08:25:24.7827686Z               "line": 16
2026-06-15T08:25:24.7827925Z             },
2026-06-15T08:25:24.7828153Z             {
2026-06-15T08:25:24.7828482Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-15T08:25:24.7828730Z               "line": 249
2026-06-15T08:25:24.7829035Z             },
2026-06-15T08:25:24.7829261Z             {
2026-06-15T08:25:24.7829594Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7829845Z               "line": 11
2026-06-15T08:25:24.7830076Z             },
2026-06-15T08:25:24.7830319Z             {
2026-06-15T08:25:24.7830648Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7830901Z               "line": 85
2026-06-15T08:25:24.7831155Z             },
2026-06-15T08:25:24.7831387Z             {
2026-06-15T08:25:24.7831717Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7831964Z               "line": 452
2026-06-15T08:25:24.7832193Z             },
2026-06-15T08:25:24.7832424Z             {
2026-06-15T08:25:24.7832755Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7833008Z               "line": 533
2026-06-15T08:25:24.7833236Z             },
2026-06-15T08:25:24.7833475Z             {
2026-06-15T08:25:24.7833790Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7834043Z               "line": 586
2026-06-15T08:25:24.7834281Z             },
2026-06-15T08:25:24.7834524Z             {
2026-06-15T08:25:24.7834866Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7835112Z               "line": 8
2026-06-15T08:25:24.7835361Z             }
2026-06-15T08:25:24.7835584Z           ]
2026-06-15T08:25:24.7835826Z         },
2026-06-15T08:25:24.7836061Z         "int": {
2026-06-15T08:25:24.7836319Z           "complete": false,
2026-06-15T08:25:24.7836586Z           "evidence": []
2026-06-15T08:25:24.7836819Z         },
2026-06-15T08:25:24.7837058Z         "unit": {
2026-06-15T08:25:24.7837319Z           "complete": true,
2026-06-15T08:25:24.7837578Z           "evidence": [
2026-06-15T08:25:24.7837814Z             {
2026-06-15T08:25:24.7838117Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7838369Z               "line": 6134
2026-06-15T08:25:24.7838605Z             },
2026-06-15T08:25:24.7838848Z             {
2026-06-15T08:25:24.7839247Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.7839501Z               "line": 6145
2026-06-15T08:25:24.7839730Z             },
2026-06-15T08:25:24.7839972Z             {
2026-06-15T08:25:24.7840300Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7840555Z               "line": 737
2026-06-15T08:25:24.7840794Z             },
2026-06-15T08:25:24.7841032Z             {
2026-06-15T08:25:24.7841367Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7841609Z               "line": 744
2026-06-15T08:25:24.7841857Z             },
2026-06-15T08:25:24.7842200Z             {
2026-06-15T08:25:24.7842524Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7842777Z               "line": 761
2026-06-15T08:25:24.7843008Z             },
2026-06-15T08:25:24.7843248Z             {
2026-06-15T08:25:24.7843582Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7843936Z               "line": 781
2026-06-15T08:25:24.7844178Z             },
2026-06-15T08:25:24.7844402Z             {
2026-06-15T08:25:24.7844736Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7844989Z               "line": 795
2026-06-15T08:25:24.7845219Z             },
2026-06-15T08:25:24.7845445Z             {
2026-06-15T08:25:24.7845767Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7846016Z               "line": 804
2026-06-15T08:25:24.7846245Z             },
2026-06-15T08:25:24.7846484Z             {
2026-06-15T08:25:24.7846817Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7847079Z               "line": 815
2026-06-15T08:25:24.7847312Z             },
2026-06-15T08:25:24.7847536Z             {
2026-06-15T08:25:24.7847870Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7848114Z               "line": 837
2026-06-15T08:25:24.7848355Z             },
2026-06-15T08:25:24.7848582Z             {
2026-06-15T08:25:24.7848920Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7849258Z               "line": 856
2026-06-15T08:25:24.7849494Z             },
2026-06-15T08:25:24.7849737Z             {
2026-06-15T08:25:24.7850066Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7850314Z               "line": 893
2026-06-15T08:25:24.7850542Z             },
2026-06-15T08:25:24.7850784Z             {
2026-06-15T08:25:24.7851125Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7851364Z               "line": 922
2026-06-15T08:25:24.7851597Z             },
2026-06-15T08:25:24.7851835Z             {
2026-06-15T08:25:24.7852174Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7852422Z               "line": 935
2026-06-15T08:25:24.7852660Z             },
2026-06-15T08:25:24.7856266Z             {
2026-06-15T08:25:24.7856646Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7856914Z               "line": 979
2026-06-15T08:25:24.7857148Z             },
2026-06-15T08:25:24.7857382Z             {
2026-06-15T08:25:24.7857716Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7857973Z               "line": 1006
2026-06-15T08:25:24.7858201Z             },
2026-06-15T08:25:24.7858425Z             {
2026-06-15T08:25:24.7858754Z               "path": "crates/spt/src/picker/model.rs",
2026-06-15T08:25:24.7859085Z               "line": 1022
2026-06-15T08:25:24.7859324Z             },
2026-06-15T08:25:24.7859571Z             {
2026-06-15T08:25:24.7859896Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7860157Z               "line": 419
2026-06-15T08:25:24.7860382Z             },
2026-06-15T08:25:24.7860621Z             {
2026-06-15T08:25:24.7860946Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7861199Z               "line": 431
2026-06-15T08:25:24.7861434Z             },
2026-06-15T08:25:24.7861662Z             {
2026-06-15T08:25:24.7862000Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7862248Z               "line": 449
2026-06-15T08:25:24.7862492Z             },
2026-06-15T08:25:24.7862719Z             {
2026-06-15T08:25:24.7863383Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7864226Z               "line": 471
2026-06-15T08:25:24.7864822Z             },
2026-06-15T08:25:24.7865347Z             {
2026-06-15T08:25:24.7865957Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7866732Z               "line": 481
2026-06-15T08:25:24.7867318Z             },
2026-06-15T08:25:24.7867836Z             {
2026-06-15T08:25:24.7868601Z               "path": "crates/spt/src/picker/view.rs",
2026-06-15T08:25:24.7869456Z               "line": 504
2026-06-15T08:25:24.7870050Z             }
2026-06-15T08:25:24.7870566Z           ]
2026-06-15T08:25:24.7871061Z         }
2026-06-15T08:25:24.7871552Z       }
2026-06-15T08:25:24.7872028Z     },
2026-06-15T08:25:24.7872626Z     {
2026-06-15T08:25:24.7873142Z       "id": "REQ-RUN-SHORTCUT",
2026-06-15T08:25:24.7886910Z       "title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4): from any pre-start options set the picker writes/updates a `<basename>-<id>` launcher at the project root baking the current selection's non-interactive `spt endpoint run` flags (terminal actions only: adapter[:profile] + id + (create|resume) + (start|attach|view); Kick/Instantiate/Change-adapter/Fork are interactive-only, not bakeable). BASENAME IS A PARAMETER (operator rev. 2026-06-14): harness-agnostic spt-core defaults to `spt` (→ `spt-<id>`); an adapter/flow OVERRIDES it (spt-claude-code → `cc`), so spt-core NEVER bakes `cc` (a harness name) into itself. The basename must be a DISTINCT token, never bare `spt` (a `spt.cmd` would shadow the real `spt.exe` only under cmd.exe cwd-first search, silently no-op in PowerShell/Unix, and self-recurse). The script is the CURRENT OS's native form — `.cmd` on Windows (NOT `.ps1`: default PATHEXT excludes `.ps1` so a bare/ext-less name never resolves one; `.cmd` is PATHEXT-resolvable), POSIX `sh` (+chmod +x) on Unix (a single portable form can't be both). The generated header documents the invocation reality (cmd.exe bare `<name>` in the project dir / PowerShell `.\\<name>` / Unix `./<name>`; a truly-bare basename on PATH = a PATH-installed launcher, `/spt:setup`'s job). Overwrite is SENTINEL-guarded: the generator writes + checks a generated-by header marker — it overwrites its own prior output freely, but REFUSES + warns if a same-named file lacks the sentinel (never clobber a user file). Requires the additive `--create` flag on `Run{}` (the default-fresh made explicit; N-1-safe).",
2026-06-15T08:25:24.7900389Z       "requiredStages": [
2026-06-15T08:25:24.7900981Z         "doc",
2026-06-15T08:25:24.7901502Z         "impl",
2026-06-15T08:25:24.7902050Z         "unit"
2026-06-15T08:25:24.7902570Z       ],
2026-06-15T08:25:24.7903071Z       "stages": {
2026-06-15T08:25:24.7903628Z         "doc": {
2026-06-15T08:25:24.7904180Z           "complete": true,
2026-06-15T08:25:24.7904798Z           "evidence": [
2026-06-15T08:25:24.7905367Z             {
2026-06-15T08:25:24.7905914Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.7906585Z               "line": 347
2026-06-15T08:25:24.7907167Z             }
2026-06-15T08:25:24.7907687Z           ]
2026-06-15T08:25:24.7908222Z         },
2026-06-15T08:25:24.7908740Z         "impl": {
2026-06-15T08:25:24.7909442Z           "complete": true,
2026-06-15T08:25:24.7910081Z           "evidence": [
2026-06-15T08:25:24.7910654Z             {
2026-06-15T08:25:24.7911278Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7912077Z               "line": 39
2026-06-15T08:25:24.7912663Z             },
2026-06-15T08:25:24.7913178Z             {
2026-06-15T08:25:24.7913816Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7914634Z               "line": 79
2026-06-15T08:25:24.7915210Z             },
2026-06-15T08:25:24.7915735Z             {
2026-06-15T08:25:24.7916364Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7917160Z               "line": 162
2026-06-15T08:25:24.7917746Z             }
2026-06-15T08:25:24.7918252Z           ]
2026-06-15T08:25:24.7918748Z         },
2026-06-15T08:25:24.7919357Z         "int": {
2026-06-15T08:25:24.7919917Z           "complete": false,
2026-06-15T08:25:24.7920542Z           "evidence": []
2026-06-15T08:25:24.7921119Z         },
2026-06-15T08:25:24.7921615Z         "unit": {
2026-06-15T08:25:24.7922162Z           "complete": true,
2026-06-15T08:25:24.7922766Z           "evidence": [
2026-06-15T08:25:24.7923457Z             {
2026-06-15T08:25:24.7924076Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7924853Z               "line": 206
2026-06-15T08:25:24.7925432Z             },
2026-06-15T08:25:24.7925942Z             {
2026-06-15T08:25:24.7926558Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7927441Z               "line": 222
2026-06-15T08:25:24.7928015Z             },
2026-06-15T08:25:24.7928527Z             {
2026-06-15T08:25:24.7929236Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7930032Z               "line": 238
2026-06-15T08:25:24.7930606Z             },
2026-06-15T08:25:24.7931121Z             {
2026-06-15T08:25:24.7931736Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7932515Z               "line": 251
2026-06-15T08:25:24.7933087Z             },
2026-06-15T08:25:24.7933612Z             {
2026-06-15T08:25:24.7934237Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-15T08:25:24.7935027Z               "line": 258
2026-06-15T08:25:24.7935606Z             }
2026-06-15T08:25:24.7936112Z           ]
2026-06-15T08:25:24.7936611Z         }
2026-06-15T08:25:24.7937099Z       }
2026-06-15T08:25:24.7937585Z     },
2026-06-15T08:25:24.7938068Z     {
2026-06-15T08:25:24.7938589Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-15T08:25:24.7939602Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-15T08:25:24.7940601Z       "requiredStages": [
2026-06-15T08:25:24.7941195Z         "impl",
2026-06-15T08:25:24.7941719Z         "unit"
2026-06-15T08:25:24.7942234Z       ],
2026-06-15T08:25:24.7942740Z       "stages": {
2026-06-15T08:25:24.7943278Z         "doc": {
2026-06-15T08:25:24.7943834Z           "complete": false,
2026-06-15T08:25:24.7944472Z           "evidence": []
2026-06-15T08:25:24.7945041Z         },
2026-06-15T08:25:24.7945545Z         "impl": {
2026-06-15T08:25:24.7946101Z           "complete": true,
2026-06-15T08:25:24.7946725Z           "evidence": [
2026-06-15T08:25:24.7947283Z             {
2026-06-15T08:25:24.7947869Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7948623Z               "line": 18
2026-06-15T08:25:24.7949261Z             },
2026-06-15T08:25:24.7949794Z             {
2026-06-15T08:25:24.7950404Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7951171Z               "line": 35
2026-06-15T08:25:24.7951736Z             },
2026-06-15T08:25:24.7952246Z             {
2026-06-15T08:25:24.7952847Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7953601Z               "line": 72
2026-06-15T08:25:24.7954169Z             }
2026-06-15T08:25:24.7954671Z           ]
2026-06-15T08:25:24.7955156Z         },
2026-06-15T08:25:24.7955648Z         "int": {
2026-06-15T08:25:24.7956201Z           "complete": false,
2026-06-15T08:25:24.7956831Z           "evidence": []
2026-06-15T08:25:24.7957413Z         },
2026-06-15T08:25:24.7957909Z         "unit": {
2026-06-15T08:25:24.7958463Z           "complete": true,
2026-06-15T08:25:24.7959145Z           "evidence": [
2026-06-15T08:25:24.7959719Z             {
2026-06-15T08:25:24.7960320Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7961085Z               "line": 214
2026-06-15T08:25:24.7961679Z             },
2026-06-15T08:25:24.7962195Z             {
2026-06-15T08:25:24.7962806Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7963575Z               "line": 231
2026-06-15T08:25:24.7964146Z             },
2026-06-15T08:25:24.7964678Z             {
2026-06-15T08:25:24.7965278Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.7966045Z               "line": 240
2026-06-15T08:25:24.7966617Z             }
2026-06-15T08:25:24.7967132Z           ]
2026-06-15T08:25:24.7967625Z         }
2026-06-15T08:25:24.7968107Z       }
2026-06-15T08:25:24.7968602Z     },
2026-06-15T08:25:24.7969203Z     {
2026-06-15T08:25:24.7969865Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-15T08:25:24.7970648Z       "title": "Hostable endpoint-types capability declaration",
2026-06-15T08:25:24.7971453Z       "requiredStages": [
2026-06-15T08:25:24.7972025Z         "impl",
2026-06-15T08:25:24.7972547Z         "unit"
2026-06-15T08:25:24.7973043Z       ],
2026-06-15T08:25:24.7973681Z       "stages": {
2026-06-15T08:25:24.7974207Z         "doc": {
2026-06-15T08:25:24.7974750Z           "complete": false,
2026-06-15T08:25:24.7975356Z           "evidence": []
2026-06-15T08:25:24.7975919Z         },
2026-06-15T08:25:24.7976435Z         "impl": {
2026-06-15T08:25:24.7976977Z           "complete": true,
2026-06-15T08:25:24.7977568Z           "evidence": [
2026-06-15T08:25:24.7978119Z             {
2026-06-15T08:25:24.7978734Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7979544Z               "line": 474
2026-06-15T08:25:24.7980102Z             }
2026-06-15T08:25:24.7980597Z           ]
2026-06-15T08:25:24.7981088Z         },
2026-06-15T08:25:24.7981584Z         "int": {
2026-06-15T08:25:24.7982114Z           "complete": false,
2026-06-15T08:25:24.7982723Z           "evidence": []
2026-06-15T08:25:24.7983288Z         },
2026-06-15T08:25:24.7983794Z         "unit": {
2026-06-15T08:25:24.7984337Z           "complete": true,
2026-06-15T08:25:24.7984928Z           "evidence": [
2026-06-15T08:25:24.7985481Z             {
2026-06-15T08:25:24.7986079Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.7986808Z               "line": 841
2026-06-15T08:25:24.7987362Z             }
2026-06-15T08:25:24.7987862Z           ]
2026-06-15T08:25:24.7988346Z         }
2026-06-15T08:25:24.7988821Z       }
2026-06-15T08:25:24.7989365Z     },
2026-06-15T08:25:24.7989848Z     {
2026-06-15T08:25:24.7990357Z       "id": "REQ-SEAM-HISTORY",
2026-06-15T08:25:24.7991225Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-15T08:25:24.7992126Z       "requiredStages": [
2026-06-15T08:25:24.7992713Z         "impl",
2026-06-15T08:25:24.7993230Z         "unit",
2026-06-15T08:25:24.7993729Z         "int"
2026-06-15T08:25:24.7994228Z       ],
2026-06-15T08:25:24.7994716Z       "stages": {
2026-06-15T08:25:24.7995245Z         "doc": {
2026-06-15T08:25:24.7995779Z           "complete": false,
2026-06-15T08:25:24.7996391Z           "evidence": []
2026-06-15T08:25:24.7996959Z         },
2026-06-15T08:25:24.7997454Z         "impl": {
2026-06-15T08:25:24.7997997Z           "complete": true,
2026-06-15T08:25:24.7998594Z           "evidence": [
2026-06-15T08:25:24.7999226Z             {
2026-06-15T08:25:24.7999812Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.8000516Z               "line": 24
2026-06-15T08:25:24.8001081Z             },
2026-06-15T08:25:24.8001593Z             {
2026-06-15T08:25:24.8002179Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8002885Z               "line": 22
2026-06-15T08:25:24.8003433Z             }
2026-06-15T08:25:24.8003953Z           ]
2026-06-15T08:25:24.8004441Z         },
2026-06-15T08:25:24.8004938Z         "int": {
2026-06-15T08:25:24.8005476Z           "complete": true,
2026-06-15T08:25:24.8006076Z           "evidence": [
2026-06-15T08:25:24.8006625Z             {
2026-06-15T08:25:24.8007218Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.8007947Z               "line": 260
2026-06-15T08:25:24.8008505Z             }
2026-06-15T08:25:24.8009074Z           ]
2026-06-15T08:25:24.8009569Z         },
2026-06-15T08:25:24.8010067Z         "unit": {
2026-06-15T08:25:24.8010605Z           "complete": true,
2026-06-15T08:25:24.8011196Z           "evidence": [
2026-06-15T08:25:24.8011743Z             {
2026-06-15T08:25:24.8012316Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.8013022Z               "line": 171
2026-06-15T08:25:24.8013580Z             },
2026-06-15T08:25:24.8014085Z             {
2026-06-15T08:25:24.8014668Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.8015503Z               "line": 200
2026-06-15T08:25:24.8016080Z             },
2026-06-15T08:25:24.8016589Z             {
2026-06-15T08:25:24.8017156Z               "path": "crates/spt-live/src/echo.rs",
2026-06-15T08:25:24.8017864Z               "line": 220
2026-06-15T08:25:24.8018427Z             },
2026-06-15T08:25:24.8019122Z             {
2026-06-15T08:25:24.8019742Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8020458Z               "line": 199
2026-06-15T08:25:24.8021017Z             },
2026-06-15T08:25:24.8021519Z             {
2026-06-15T08:25:24.8022105Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8022809Z               "line": 219
2026-06-15T08:25:24.8023366Z             },
2026-06-15T08:25:24.8023881Z             {
2026-06-15T08:25:24.8024474Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8025190Z               "line": 244
2026-06-15T08:25:24.8025758Z             },
2026-06-15T08:25:24.8026282Z             {
2026-06-15T08:25:24.8026868Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8027580Z               "line": 276
2026-06-15T08:25:24.8028133Z             },
2026-06-15T08:25:24.8028639Z             {
2026-06-15T08:25:24.8029325Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8030050Z               "line": 297
2026-06-15T08:25:24.8030596Z             },
2026-06-15T08:25:24.8031110Z             {
2026-06-15T08:25:24.8031706Z               "path": "crates/spt-live/src/history.rs",
2026-06-15T08:25:24.8032417Z               "line": 324
2026-06-15T08:25:24.8032975Z             }
2026-06-15T08:25:24.8033494Z           ]
2026-06-15T08:25:24.8033970Z         }
2026-06-15T08:25:24.8034437Z       }
2026-06-15T08:25:24.8034895Z     },
2026-06-15T08:25:24.8035353Z     {
2026-06-15T08:25:24.8035840Z       "id": "REQ-SEAM-INJECT",
2026-06-15T08:25:24.8036479Z       "title": "inject-input methods configurable per activity-state",
2026-06-15T08:25:24.8037151Z       "requiredStages": [
2026-06-15T08:25:24.8037666Z         "impl",
2026-06-15T08:25:24.8038154Z         "unit"
2026-06-15T08:25:24.8038631Z       ],
2026-06-15T08:25:24.8039185Z       "stages": {
2026-06-15T08:25:24.8039675Z         "doc": {
2026-06-15T08:25:24.8040176Z           "complete": false,
2026-06-15T08:25:24.8040706Z           "evidence": []
2026-06-15T08:25:24.8041198Z         },
2026-06-15T08:25:24.8041656Z         "impl": {
2026-06-15T08:25:24.8042152Z           "complete": true,
2026-06-15T08:25:24.8042658Z           "evidence": [
2026-06-15T08:25:24.8043134Z             {
2026-06-15T08:25:24.8043636Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.8044205Z               "line": 19
2026-06-15T08:25:24.8044693Z             },
2026-06-15T08:25:24.8045145Z             {
2026-06-15T08:25:24.8045584Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.8046021Z               "line": 111
2026-06-15T08:25:24.8046381Z             }
2026-06-15T08:25:24.8046715Z           ]
2026-06-15T08:25:24.8047034Z         },
2026-06-15T08:25:24.8047354Z         "int": {
2026-06-15T08:25:24.8047698Z           "complete": false,
2026-06-15T08:25:24.8048071Z           "evidence": []
2026-06-15T08:25:24.8048404Z         },
2026-06-15T08:25:24.8048710Z         "unit": {
2026-06-15T08:25:24.8049126Z           "complete": true,
2026-06-15T08:25:24.8049488Z           "evidence": [
2026-06-15T08:25:24.8049831Z             {
2026-06-15T08:25:24.8050197Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.8050623Z               "line": 320
2026-06-15T08:25:24.8050981Z             },
2026-06-15T08:25:24.8051291Z             {
2026-06-15T08:25:24.8051656Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.8052082Z               "line": 340
2026-06-15T08:25:24.8052416Z             }
2026-06-15T08:25:24.8052731Z           ]
2026-06-15T08:25:24.8053046Z         }
2026-06-15T08:25:24.8053351Z       }
2026-06-15T08:25:24.8053785Z     },
2026-06-15T08:25:24.8054080Z     {
2026-06-15T08:25:24.8054408Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-15T08:25:24.8054833Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-15T08:25:24.8055258Z       "requiredStages": [
2026-06-15T08:25:24.8055586Z         "impl",
2026-06-15T08:25:24.8055877Z         "unit"
2026-06-15T08:25:24.8056268Z       ],
2026-06-15T08:25:24.8056554Z       "stages": {
2026-06-15T08:25:24.8056861Z         "doc": {
2026-06-15T08:25:24.8057162Z           "complete": false,
2026-06-15T08:25:24.8057486Z           "evidence": []
2026-06-15T08:25:24.8057790Z         },
2026-06-15T08:25:24.8058072Z         "impl": {
2026-06-15T08:25:24.8058373Z           "complete": true,
2026-06-15T08:25:24.8063144Z           "evidence": [
2026-06-15T08:25:24.8063548Z             {
2026-06-15T08:25:24.8063854Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8064206Z               "line": 18
2026-06-15T08:25:24.8064465Z             },
2026-06-15T08:25:24.8064718Z             {
2026-06-15T08:25:24.8064997Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8065316Z               "line": 350
2026-06-15T08:25:24.8065579Z             }
2026-06-15T08:25:24.8065818Z           ]
2026-06-15T08:25:24.8066051Z         },
2026-06-15T08:25:24.8066280Z         "int": {
2026-06-15T08:25:24.8066547Z           "complete": false,
2026-06-15T08:25:24.8066828Z           "evidence": []
2026-06-15T08:25:24.8067071Z         },
2026-06-15T08:25:24.8067309Z         "unit": {
2026-06-15T08:25:24.8067563Z           "complete": true,
2026-06-15T08:25:24.8067840Z           "evidence": [
2026-06-15T08:25:24.8068098Z             {
2026-06-15T08:25:24.8068370Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8068689Z               "line": 601
2026-06-15T08:25:24.8069042Z             },
2026-06-15T08:25:24.8069276Z             {
2026-06-15T08:25:24.8069548Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8069887Z               "line": 611
2026-06-15T08:25:24.8070147Z             }
2026-06-15T08:25:24.8070378Z           ]
2026-06-15T08:25:24.8070613Z         }
2026-06-15T08:25:24.8070842Z       }
2026-06-15T08:25:24.8071079Z     },
2026-06-15T08:25:24.8071294Z     {
2026-06-15T08:25:24.8071542Z       "id": "REQ-SEAM-PSYCHE",
2026-06-15T08:25:24.8071903Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-15T08:25:24.8072272Z       "requiredStages": [
2026-06-15T08:25:24.8072547Z         "impl",
2026-06-15T08:25:24.8072790Z         "unit",
2026-06-15T08:25:24.8073031Z         "int"
2026-06-15T08:25:24.8073259Z       ],
2026-06-15T08:25:24.8073499Z       "stages": {
2026-06-15T08:25:24.8073747Z         "doc": {
2026-06-15T08:25:24.8073995Z           "complete": false,
2026-06-15T08:25:24.8074275Z           "evidence": []
2026-06-15T08:25:24.8074542Z         },
2026-06-15T08:25:24.8074780Z         "impl": {
2026-06-15T08:25:24.8075034Z           "complete": true,
2026-06-15T08:25:24.8075302Z           "evidence": [
2026-06-15T08:25:24.8075567Z             {
2026-06-15T08:25:24.8075847Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-15T08:25:24.8076176Z               "line": 19
2026-06-15T08:25:24.8076434Z             },
2026-06-15T08:25:24.8076673Z             {
2026-06-15T08:25:24.8076931Z               "path": "crates/spt/src/api/live.rs",
2026-06-15T08:25:24.8077246Z               "line": 12
2026-06-15T08:25:24.8077499Z             },
2026-06-15T08:25:24.8077735Z             {
2026-06-15T08:25:24.8078010Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8078324Z               "line": 241
2026-06-15T08:25:24.8078568Z             }
2026-06-15T08:25:24.8078792Z           ]
2026-06-15T08:25:24.8079112Z         },
2026-06-15T08:25:24.8079340Z         "int": {
2026-06-15T08:25:24.8079588Z           "complete": true,
2026-06-15T08:25:24.8079845Z           "evidence": [
2026-06-15T08:25:24.8080099Z             {
2026-06-15T08:25:24.8080380Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.8080877Z               "line": 259
2026-06-15T08:25:24.8081125Z             }
2026-06-15T08:25:24.8081344Z           ]
2026-06-15T08:25:24.8081572Z         },
2026-06-15T08:25:24.8081788Z         "unit": {
2026-06-15T08:25:24.8082036Z           "complete": true,
2026-06-15T08:25:24.8082408Z           "evidence": [
2026-06-15T08:25:24.8082661Z             {
2026-06-15T08:25:24.8082923Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-15T08:25:24.8083235Z               "line": 161
2026-06-15T08:25:24.8083486Z             },
2026-06-15T08:25:24.8083721Z             {
2026-06-15T08:25:24.8083983Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-15T08:25:24.8084293Z               "line": 168
2026-06-15T08:25:24.8084550Z             },
2026-06-15T08:25:24.8084783Z             {
2026-06-15T08:25:24.8085051Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-15T08:25:24.8085365Z               "line": 191
2026-06-15T08:25:24.8085609Z             },
2026-06-15T08:25:24.8085838Z             {
2026-06-15T08:25:24.8086107Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-15T08:25:24.8086427Z               "line": 106
2026-06-15T08:25:24.8086679Z             },
2026-06-15T08:25:24.8086914Z             {
2026-06-15T08:25:24.8087191Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-15T08:25:24.8087506Z               "line": 137
2026-06-15T08:25:24.8087763Z             },
2026-06-15T08:25:24.8088001Z             {
2026-06-15T08:25:24.8088267Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-15T08:25:24.8088570Z               "line": 161
2026-06-15T08:25:24.8088823Z             }
2026-06-15T08:25:24.8089137Z           ]
2026-06-15T08:25:24.8089367Z         }
2026-06-15T08:25:24.8089585Z       }
2026-06-15T08:25:24.8089810Z     },
2026-06-15T08:25:24.8090025Z     {
2026-06-15T08:25:24.8090267Z       "id": "REQ-SEAM-RESUME",
2026-06-15T08:25:24.8090655Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-15T08:25:24.8091063Z       "requiredStages": [
2026-06-15T08:25:24.8091324Z         "impl",
2026-06-15T08:25:24.8091556Z         "unit"
2026-06-15T08:25:24.8091799Z       ],
2026-06-15T08:25:24.8092028Z       "stages": {
2026-06-15T08:25:24.8092276Z         "doc": {
2026-06-15T08:25:24.8092529Z           "complete": false,
2026-06-15T08:25:24.8092805Z           "evidence": []
2026-06-15T08:25:24.8093063Z         },
2026-06-15T08:25:24.8093292Z         "impl": {
2026-06-15T08:25:24.8093545Z           "complete": true,
2026-06-15T08:25:24.8093805Z           "evidence": [
2026-06-15T08:25:24.8094046Z             {
2026-06-15T08:25:24.8094318Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.8094619Z               "line": 19
2026-06-15T08:25:24.8094877Z             }
2026-06-15T08:25:24.8095096Z           ]
2026-06-15T08:25:24.8095315Z         },
2026-06-15T08:25:24.8095535Z         "int": {
2026-06-15T08:25:24.8095769Z           "complete": false,
2026-06-15T08:25:24.8096055Z           "evidence": []
2026-06-15T08:25:24.8096297Z         },
2026-06-15T08:25:24.8096512Z         "unit": {
2026-06-15T08:25:24.8096749Z           "complete": true,
2026-06-15T08:25:24.8097006Z           "evidence": [
2026-06-15T08:25:24.8097244Z             {
2026-06-15T08:25:24.8097512Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.8097827Z               "line": 201
2026-06-15T08:25:24.8098066Z             },
2026-06-15T08:25:24.8098295Z             {
2026-06-15T08:25:24.8098556Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.8098860Z               "line": 223
2026-06-15T08:25:24.8099163Z             },
2026-06-15T08:25:24.8099384Z             {
2026-06-15T08:25:24.8099631Z               "path": "crates/spt-live/src/resume.rs",
2026-06-15T08:25:24.8099927Z               "line": 244
2026-06-15T08:25:24.8100159Z             }
2026-06-15T08:25:24.8100375Z           ]
2026-06-15T08:25:24.8100595Z         }
2026-06-15T08:25:24.8100947Z       }
2026-06-15T08:25:24.8101157Z     },
2026-06-15T08:25:24.8101361Z     {
2026-06-15T08:25:24.8101591Z       "id": "REQ-SEAM-SPAWN",
2026-06-15T08:25:24.8101875Z       "title": "spawn-session seam",
2026-06-15T08:25:24.8102149Z       "requiredStages": [
2026-06-15T08:25:24.8102397Z         "impl",
2026-06-15T08:25:24.8102735Z         "unit"
2026-06-15T08:25:24.8102937Z       ],
2026-06-15T08:25:24.8103142Z       "stages": {
2026-06-15T08:25:24.8103360Z         "doc": {
2026-06-15T08:25:24.8103589Z           "complete": false,
2026-06-15T08:25:24.8103857Z           "evidence": []
2026-06-15T08:25:24.8104092Z         },
2026-06-15T08:25:24.8104299Z         "impl": {
2026-06-15T08:25:24.8104535Z           "complete": true,
2026-06-15T08:25:24.8104789Z           "evidence": [
2026-06-15T08:25:24.8105016Z             {
2026-06-15T08:25:24.8105288Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8105597Z               "line": 20
2026-06-15T08:25:24.8105827Z             }
2026-06-15T08:25:24.8106038Z           ]
2026-06-15T08:25:24.8106251Z         },
2026-06-15T08:25:24.8106470Z         "int": {
2026-06-15T08:25:24.8106729Z           "complete": false,
2026-06-15T08:25:24.8106987Z           "evidence": []
2026-06-15T08:25:24.8107218Z         },
2026-06-15T08:25:24.8107424Z         "unit": {
2026-06-15T08:25:24.8107663Z           "complete": true,
2026-06-15T08:25:24.8107911Z           "evidence": [
2026-06-15T08:25:24.8108138Z             {
2026-06-15T08:25:24.8108406Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8108716Z               "line": 435
2026-06-15T08:25:24.8109020Z             },
2026-06-15T08:25:24.8109232Z             {
2026-06-15T08:25:24.8109497Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8109804Z               "line": 442
2026-06-15T08:25:24.8110042Z             },
2026-06-15T08:25:24.8110257Z             {
2026-06-15T08:25:24.8110506Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8110806Z               "line": 452
2026-06-15T08:25:24.8111039Z             },
2026-06-15T08:25:24.8111244Z             {
2026-06-15T08:25:24.8111489Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8111770Z               "line": 458
2026-06-15T08:25:24.8112003Z             },
2026-06-15T08:25:24.8112207Z             {
2026-06-15T08:25:24.8112464Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8112758Z               "line": 483
2026-06-15T08:25:24.8112995Z             },
2026-06-15T08:25:24.8113205Z             {
2026-06-15T08:25:24.8113463Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-15T08:25:24.8113749Z               "line": 520
2026-06-15T08:25:24.8113978Z             }
2026-06-15T08:25:24.8114092Z           ]
2026-06-15T08:25:24.8114197Z         }
2026-06-15T08:25:24.8114308Z       }
2026-06-15T08:25:24.8114417Z     },
2026-06-15T08:25:24.8114526Z     {
2026-06-15T08:25:24.8114657Z       "id": "REQ-SEAM-UPDATE",
2026-06-15T08:25:24.8114859Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-15T08:25:24.8114983Z       "requiredStages": [
2026-06-15T08:25:24.8115091Z         "impl",
2026-06-15T08:25:24.8115199Z         "unit"
2026-06-15T08:25:24.8115305Z       ],
2026-06-15T08:25:24.8115420Z       "stages": {
2026-06-15T08:25:24.8115533Z         "doc": {
2026-06-15T08:25:24.8115663Z           "complete": false,
2026-06-15T08:25:24.8115786Z           "evidence": []
2026-06-15T08:25:24.8115891Z         },
2026-06-15T08:25:24.8116006Z         "impl": {
2026-06-15T08:25:24.8116120Z           "complete": true,
2026-06-15T08:25:24.8116241Z           "evidence": [
2026-06-15T08:25:24.8116344Z             {
2026-06-15T08:25:24.8116521Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8116640Z               "line": 28
2026-06-15T08:25:24.8116750Z             },
2026-06-15T08:25:24.8116860Z             {
2026-06-15T08:25:24.8117131Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8117242Z               "line": 83
2026-06-15T08:25:24.8117345Z             }
2026-06-15T08:25:24.8117451Z           ]
2026-06-15T08:25:24.8117557Z         },
2026-06-15T08:25:24.8117664Z         "int": {
2026-06-15T08:25:24.8117788Z           "complete": false,
2026-06-15T08:25:24.8118003Z           "evidence": []
2026-06-15T08:25:24.8118112Z         },
2026-06-15T08:25:24.8118213Z         "unit": {
2026-06-15T08:25:24.8118341Z           "complete": true,
2026-06-15T08:25:24.8118451Z           "evidence": [
2026-06-15T08:25:24.8118556Z             {
2026-06-15T08:25:24.8118717Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8118823Z               "line": 286
2026-06-15T08:25:24.8118932Z             },
2026-06-15T08:25:24.8119129Z             {
2026-06-15T08:25:24.8119295Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8119405Z               "line": 297
2026-06-15T08:25:24.8119515Z             }
2026-06-15T08:25:24.8119620Z           ]
2026-06-15T08:25:24.8119720Z         }
2026-06-15T08:25:24.8119830Z       }
2026-06-15T08:25:24.8119923Z     },
2026-06-15T08:25:24.8120023Z     {
2026-06-15T08:25:24.8120128Z       "id": "REQ-SEC-1",
2026-06-15T08:25:24.8120565Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-15T08:25:24.8120693Z       "requiredStages": [
2026-06-15T08:25:24.8120794Z         "impl",
2026-06-15T08:25:24.8120917Z         "unit"
2026-06-15T08:25:24.8121023Z       ],
2026-06-15T08:25:24.8121132Z       "stages": {
2026-06-15T08:25:24.8121246Z         "doc": {
2026-06-15T08:25:24.8121357Z           "complete": false,
2026-06-15T08:25:24.8121475Z           "evidence": []
2026-06-15T08:25:24.8121584Z         },
2026-06-15T08:25:24.8121705Z         "impl": {
2026-06-15T08:25:24.8121819Z           "complete": true,
2026-06-15T08:25:24.8121943Z           "evidence": [
2026-06-15T08:25:24.8122039Z             {
2026-06-15T08:25:24.8122191Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8122306Z               "line": 84
2026-06-15T08:25:24.8122411Z             },
2026-06-15T08:25:24.8122515Z             {
2026-06-15T08:25:24.8122654Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8122763Z               "line": 114
2026-06-15T08:25:24.8122871Z             },
2026-06-15T08:25:24.8122976Z             {
2026-06-15T08:25:24.8123126Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8123231Z               "line": 128
2026-06-15T08:25:24.8123332Z             },
2026-06-15T08:25:24.8123437Z             {
2026-06-15T08:25:24.8123589Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8123709Z               "line": 108
2026-06-15T08:25:24.8123808Z             },
2026-06-15T08:25:24.8123914Z             {
2026-06-15T08:25:24.8124057Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8124185Z               "line": 129
2026-06-15T08:25:24.8124296Z             },
2026-06-15T08:25:24.8124405Z             {
2026-06-15T08:25:24.8124553Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8124662Z               "line": 142
2026-06-15T08:25:24.8124786Z             },
2026-06-15T08:25:24.8124892Z             {
2026-06-15T08:25:24.8125038Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8125149Z               "line": 208
2026-06-15T08:25:24.8125255Z             },
2026-06-15T08:25:24.8125362Z             {
2026-06-15T08:25:24.8125500Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8125623Z               "line": 234
2026-06-15T08:25:24.8125727Z             },
2026-06-15T08:25:24.8125831Z             {
2026-06-15T08:25:24.8125975Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8126084Z               "line": 4736
2026-06-15T08:25:24.8126309Z             }
2026-06-15T08:25:24.8126408Z           ]
2026-06-15T08:25:24.8126533Z         },
2026-06-15T08:25:24.8126642Z         "int": {
2026-06-15T08:25:24.8126771Z           "complete": false,
2026-06-15T08:25:24.8126895Z           "evidence": []
2026-06-15T08:25:24.8126999Z         },
2026-06-15T08:25:24.8127105Z         "unit": {
2026-06-15T08:25:24.8127324Z           "complete": true,
2026-06-15T08:25:24.8127440Z           "evidence": [
2026-06-15T08:25:24.8127548Z             {
2026-06-15T08:25:24.8127696Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8127816Z               "line": 140
2026-06-15T08:25:24.8127920Z             },
2026-06-15T08:25:24.8128021Z             {
2026-06-15T08:25:24.8128168Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8128291Z               "line": 192
2026-06-15T08:25:24.8128391Z             },
2026-06-15T08:25:24.8128502Z             {
2026-06-15T08:25:24.8128653Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-15T08:25:24.8128764Z               "line": 233
2026-06-15T08:25:24.8128873Z             },
2026-06-15T08:25:24.8129064Z             {
2026-06-15T08:25:24.8129216Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-15T08:25:24.8129317Z               "line": 140
2026-06-15T08:25:24.8129421Z             },
2026-06-15T08:25:24.8129545Z             {
2026-06-15T08:25:24.8129685Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8129793Z               "line": 246
2026-06-15T08:25:24.8129898Z             },
2026-06-15T08:25:24.8130004Z             {
2026-06-15T08:25:24.8130141Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8130261Z               "line": 276
2026-06-15T08:25:24.8130366Z             },
2026-06-15T08:25:24.8130470Z             {
2026-06-15T08:25:24.8130617Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8130726Z               "line": 309
2026-06-15T08:25:24.8130834Z             },
2026-06-15T08:25:24.8130949Z             {
2026-06-15T08:25:24.8131092Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8131210Z               "line": 328
2026-06-15T08:25:24.8131316Z             },
2026-06-15T08:25:24.8131430Z             {
2026-06-15T08:25:24.8131558Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8131679Z               "line": 361
2026-06-15T08:25:24.8131788Z             },
2026-06-15T08:25:24.8131893Z             {
2026-06-15T08:25:24.8132040Z               "path": "crates/spt-store/src/access.rs",
2026-06-15T08:25:24.8132144Z               "line": 385
2026-06-15T08:25:24.8132246Z             },
2026-06-15T08:25:24.8132346Z             {
2026-06-15T08:25:24.8132488Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8132609Z               "line": 6686
2026-06-15T08:25:24.8132717Z             }
2026-06-15T08:25:24.8132823Z           ]
2026-06-15T08:25:24.8132919Z         }
2026-06-15T08:25:24.8133031Z       }
2026-06-15T08:25:24.8133138Z     },
2026-06-15T08:25:24.8133258Z     {
2026-06-15T08:25:24.8133379Z       "id": "REQ-SHELL-1",
2026-06-15T08:25:24.8134307Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-15T08:25:24.8134440Z       "requiredStages": [
2026-06-15T08:25:24.8134546Z         "impl",
2026-06-15T08:25:24.8134650Z         "unit",
2026-06-15T08:25:24.8134755Z         "int"
2026-06-15T08:25:24.8134866Z       ],
2026-06-15T08:25:24.8134984Z       "stages": {
2026-06-15T08:25:24.8135089Z         "doc": {
2026-06-15T08:25:24.8135218Z           "complete": false,
2026-06-15T08:25:24.8135322Z           "evidence": []
2026-06-15T08:25:24.8135433Z         },
2026-06-15T08:25:24.8135532Z         "impl": {
2026-06-15T08:25:24.8135757Z           "complete": true,
2026-06-15T08:25:24.8135875Z           "evidence": [
2026-06-15T08:25:24.8135984Z             {
2026-06-15T08:25:24.8136146Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8136244Z               "line": 94
2026-06-15T08:25:24.8136348Z             },
2026-06-15T08:25:24.8136549Z             {
2026-06-15T08:25:24.8136711Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8136836Z               "line": 121
2026-06-15T08:25:24.8136945Z             },
2026-06-15T08:25:24.8137075Z             {
2026-06-15T08:25:24.8137230Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8137351Z               "line": 27
2026-06-15T08:25:24.8137464Z             },
2026-06-15T08:25:24.8137574Z             {
2026-06-15T08:25:24.8137728Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8137841Z               "line": 52
2026-06-15T08:25:24.8137951Z             },
2026-06-15T08:25:24.8138061Z             {
2026-06-15T08:25:24.8138213Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8138334Z               "line": 132
2026-06-15T08:25:24.8138432Z             },
2026-06-15T08:25:24.8138547Z             {
2026-06-15T08:25:24.8138691Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8138818Z               "line": 164
2026-06-15T08:25:24.8138923Z             },
2026-06-15T08:25:24.8139123Z             {
2026-06-15T08:25:24.8139276Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8139381Z               "line": 22
2026-06-15T08:25:24.8139490Z             },
2026-06-15T08:25:24.8139591Z             {
2026-06-15T08:25:24.8139734Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8139852Z               "line": 65
2026-06-15T08:25:24.8139958Z             },
2026-06-15T08:25:24.8140072Z             {
2026-06-15T08:25:24.8140215Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8140339Z               "line": 76
2026-06-15T08:25:24.8140439Z             },
2026-06-15T08:25:24.8140550Z             {
2026-06-15T08:25:24.8140701Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8140811Z               "line": 150
2026-06-15T08:25:24.8140922Z             },
2026-06-15T08:25:24.8141025Z             {
2026-06-15T08:25:24.8141172Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8141286Z               "line": 209
2026-06-15T08:25:24.8141389Z             },
2026-06-15T08:25:24.8141494Z             {
2026-06-15T08:25:24.8141643Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8141756Z               "line": 249
2026-06-15T08:25:24.8141852Z             },
2026-06-15T08:25:24.8141952Z             {
2026-06-15T08:25:24.8142099Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8142220Z               "line": 270
2026-06-15T08:25:24.8142328Z             },
2026-06-15T08:25:24.8142434Z             {
2026-06-15T08:25:24.8142591Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8142696Z               "line": 283
2026-06-15T08:25:24.8142807Z             },
2026-06-15T08:25:24.8142906Z             {
2026-06-15T08:25:24.8143058Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.8143169Z               "line": 217
2026-06-15T08:25:24.8143272Z             },
2026-06-15T08:25:24.8143368Z             {
2026-06-15T08:25:24.8143512Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.8143631Z               "line": 233
2026-06-15T08:25:24.8143731Z             },
2026-06-15T08:25:24.8143836Z             {
2026-06-15T08:25:24.8143977Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.8144083Z               "line": 41
2026-06-15T08:25:24.8144200Z             },
2026-06-15T08:25:24.8144299Z             {
2026-06-15T08:25:24.8144443Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.8144676Z               "line": 222
2026-06-15T08:25:24.8144787Z             },
2026-06-15T08:25:24.8144895Z             {
2026-06-15T08:25:24.8145044Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-15T08:25:24.8145163Z               "line": 156
2026-06-15T08:25:24.8145359Z             },
2026-06-15T08:25:24.8145472Z             {
2026-06-15T08:25:24.8145616Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.8145735Z               "line": 319
2026-06-15T08:25:24.8145839Z             },
2026-06-15T08:25:24.8145945Z             {
2026-06-15T08:25:24.8146084Z               "path": "crates/spt/src/api/mod.rs",
2026-06-15T08:25:24.8146202Z               "line": 371
2026-06-15T08:25:24.8146318Z             },
2026-06-15T08:25:24.8146426Z             {
2026-06-15T08:25:24.8146577Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8146687Z               "line": 329
2026-06-15T08:25:24.8146795Z             },
2026-06-15T08:25:24.8146899Z             {
2026-06-15T08:25:24.8150599Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8150756Z               "line": 5450
2026-06-15T08:25:24.8150857Z             },
2026-06-15T08:25:24.8150956Z             {
2026-06-15T08:25:24.8151095Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8151228Z               "line": 5600
2026-06-15T08:25:24.8151338Z             },
2026-06-15T08:25:24.8151439Z             {
2026-06-15T08:25:24.8151585Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8151699Z               "line": 5637
2026-06-15T08:25:24.8151799Z             }
2026-06-15T08:25:24.8151902Z           ]
2026-06-15T08:25:24.8152006Z         },
2026-06-15T08:25:24.8152112Z         "int": {
2026-06-15T08:25:24.8152226Z           "complete": true,
2026-06-15T08:25:24.8152345Z           "evidence": [
2026-06-15T08:25:24.8152446Z             {
2026-06-15T08:25:24.8152617Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.8152742Z               "line": 709
2026-06-15T08:25:24.8152846Z             },
2026-06-15T08:25:24.8152946Z             {
2026-06-15T08:25:24.8153099Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-15T08:25:24.8153218Z               "line": 8
2026-06-15T08:25:24.8153318Z             },
2026-06-15T08:25:24.8153428Z             {
2026-06-15T08:25:24.8153589Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-15T08:25:24.8153696Z               "line": 49
2026-06-15T08:25:24.8153804Z             },
2026-06-15T08:25:24.8153914Z             {
2026-06-15T08:25:24.8154072Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8154181Z               "line": 709
2026-06-15T08:25:24.8154287Z             },
2026-06-15T08:25:24.8154396Z             {
2026-06-15T08:25:24.8154547Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8154657Z               "line": 1119
2026-06-15T08:25:24.8154760Z             },
2026-06-15T08:25:24.8154864Z             {
2026-06-15T08:25:24.8155023Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-15T08:25:24.8155132Z               "line": 17
2026-06-15T08:25:24.8155241Z             },
2026-06-15T08:25:24.8155342Z             {
2026-06-15T08:25:24.8155479Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-15T08:25:24.8155590Z               "line": 14
2026-06-15T08:25:24.8155695Z             }
2026-06-15T08:25:24.8155799Z           ]
2026-06-15T08:25:24.8155909Z         },
2026-06-15T08:25:24.8156023Z         "unit": {
2026-06-15T08:25:24.8156137Z           "complete": true,
2026-06-15T08:25:24.8156257Z           "evidence": [
2026-06-15T08:25:24.8156366Z             {
2026-06-15T08:25:24.8156524Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8156634Z               "line": 234
2026-06-15T08:25:24.8156738Z             },
2026-06-15T08:25:24.8156844Z             {
2026-06-15T08:25:24.8156987Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8157247Z               "line": 267
2026-06-15T08:25:24.8157350Z             },
2026-06-15T08:25:24.8157464Z             {
2026-06-15T08:25:24.8157608Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8157716Z               "line": 307
2026-06-15T08:25:24.8157923Z             },
2026-06-15T08:25:24.8158031Z             {
2026-06-15T08:25:24.8158176Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8158285Z               "line": 571
2026-06-15T08:25:24.8158384Z             },
2026-06-15T08:25:24.8158495Z             {
2026-06-15T08:25:24.8158643Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8158761Z               "line": 644
2026-06-15T08:25:24.8158867Z             },
2026-06-15T08:25:24.8159062Z             {
2026-06-15T08:25:24.8159215Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8159333Z               "line": 788
2026-06-15T08:25:24.8159435Z             },
2026-06-15T08:25:24.8159534Z             {
2026-06-15T08:25:24.8159677Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.8159788Z               "line": 595
2026-06-15T08:25:24.8159896Z             },
2026-06-15T08:25:24.8159995Z             {
2026-06-15T08:25:24.8160139Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-15T08:25:24.8160262Z               "line": 399
2026-06-15T08:25:24.8160367Z             },
2026-06-15T08:25:24.8160468Z             {
2026-06-15T08:25:24.8160596Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8160716Z               "line": 7232
2026-06-15T08:25:24.8160825Z             },
2026-06-15T08:25:24.8160915Z             {
2026-06-15T08:25:24.8161045Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8161149Z               "line": 7556
2026-06-15T08:25:24.8161254Z             },
2026-06-15T08:25:24.8161355Z             {
2026-06-15T08:25:24.8161478Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8161588Z               "line": 7973
2026-06-15T08:25:24.8161694Z             }
2026-06-15T08:25:24.8161802Z           ]
2026-06-15T08:25:24.8161907Z         }
2026-06-15T08:25:24.8162009Z       }
2026-06-15T08:25:24.8162107Z     },
2026-06-15T08:25:24.8162216Z     {
2026-06-15T08:25:24.8162336Z       "id": "REQ-SHELL-2",
2026-06-15T08:25:24.8163993Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-15T08:25:24.8164121Z       "requiredStages": [
2026-06-15T08:25:24.8164227Z         "impl",
2026-06-15T08:25:24.8164340Z         "unit",
2026-06-15T08:25:24.8164445Z         "int"
2026-06-15T08:25:24.8164552Z       ],
2026-06-15T08:25:24.8164655Z       "stages": {
2026-06-15T08:25:24.8164760Z         "doc": {
2026-06-15T08:25:24.8164876Z           "complete": false,
2026-06-15T08:25:24.8164984Z           "evidence": []
2026-06-15T08:25:24.8165097Z         },
2026-06-15T08:25:24.8165227Z         "impl": {
2026-06-15T08:25:24.8165334Z           "complete": true,
2026-06-15T08:25:24.8165457Z           "evidence": [
2026-06-15T08:25:24.8165563Z             {
2026-06-15T08:25:24.8165729Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.8165845Z               "line": 214
2026-06-15T08:25:24.8165949Z             },
2026-06-15T08:25:24.8166058Z             {
2026-06-15T08:25:24.8166207Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.8166326Z               "line": 403
2026-06-15T08:25:24.8166431Z             },
2026-06-15T08:25:24.8166541Z             {
2026-06-15T08:25:24.8166818Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-15T08:25:24.8166936Z               "line": 250
2026-06-15T08:25:24.8167045Z             },
2026-06-15T08:25:24.8167147Z             {
2026-06-15T08:25:24.8167293Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.8167399Z               "line": 353
2026-06-15T08:25:24.8167594Z             },
2026-06-15T08:25:24.8167698Z             {
2026-06-15T08:25:24.8167854Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8167957Z               "line": 30
2026-06-15T08:25:24.8168063Z             },
2026-06-15T08:25:24.8168168Z             {
2026-06-15T08:25:24.8168315Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8168435Z               "line": 152
2026-06-15T08:25:24.8168536Z             },
2026-06-15T08:25:24.8168644Z             {
2026-06-15T08:25:24.8168788Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8168893Z               "line": 188
2026-06-15T08:25:24.8169084Z             },
2026-06-15T08:25:24.8169188Z             {
2026-06-15T08:25:24.8169336Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8169436Z               "line": 347
2026-06-15T08:25:24.8169541Z             },
2026-06-15T08:25:24.8169641Z             {
2026-06-15T08:25:24.8169789Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.8169893Z               "line": 348
2026-06-15T08:25:24.8170000Z             },
2026-06-15T08:25:24.8170104Z             {
2026-06-15T08:25:24.8170252Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-15T08:25:24.8170367Z               "line": 115
2026-06-15T08:25:24.8170489Z             },
2026-06-15T08:25:24.8170593Z             {
2026-06-15T08:25:24.8170738Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8170846Z               "line": 120
2026-06-15T08:25:24.8170966Z             },
2026-06-15T08:25:24.8171066Z             {
2026-06-15T08:25:24.8171218Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8171334Z               "line": 363
2026-06-15T08:25:24.8171433Z             },
2026-06-15T08:25:24.8171538Z             {
2026-06-15T08:25:24.8171686Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8171799Z               "line": 472
2026-06-15T08:25:24.8171915Z             },
2026-06-15T08:25:24.8172015Z             {
2026-06-15T08:25:24.8172162Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8172278Z               "line": 24
2026-06-15T08:25:24.8172376Z             },
2026-06-15T08:25:24.8172477Z             {
2026-06-15T08:25:24.8172626Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8172729Z               "line": 76
2026-06-15T08:25:24.8172833Z             },
2026-06-15T08:25:24.8172943Z             {
2026-06-15T08:25:24.8173089Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8173203Z               "line": 154
2026-06-15T08:25:24.8173305Z             },
2026-06-15T08:25:24.8173403Z             {
2026-06-15T08:25:24.8173557Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8173661Z               "line": 177
2026-06-15T08:25:24.8173766Z             },
2026-06-15T08:25:24.8173867Z             {
2026-06-15T08:25:24.8174013Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8174124Z               "line": 273
2026-06-15T08:25:24.8174233Z             },
2026-06-15T08:25:24.8174333Z             {
2026-06-15T08:25:24.8174477Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8174591Z               "line": 455
2026-06-15T08:25:24.8174700Z             },
2026-06-15T08:25:24.8174797Z             {
2026-06-15T08:25:24.8174948Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8175058Z               "line": 537
2026-06-15T08:25:24.8175160Z             },
2026-06-15T08:25:24.8175354Z             {
2026-06-15T08:25:24.8175512Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-15T08:25:24.8175615Z               "line": 27
2026-06-15T08:25:24.8175715Z             },
2026-06-15T08:25:24.8175815Z             {
2026-06-15T08:25:24.8175970Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-15T08:25:24.8176186Z               "line": 43
2026-06-15T08:25:24.8176294Z             },
2026-06-15T08:25:24.8176405Z             {
2026-06-15T08:25:24.8176547Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8176666Z               "line": 393
2026-06-15T08:25:24.8176772Z             },
2026-06-15T08:25:24.8176881Z             {
2026-06-15T08:25:24.8177010Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8177115Z               "line": 1670
2026-06-15T08:25:24.8177219Z             },
2026-06-15T08:25:24.8177325Z             {
2026-06-15T08:25:24.8177449Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8177572Z               "line": 5464
2026-06-15T08:25:24.8177679Z             },
2026-06-15T08:25:24.8177778Z             {
2026-06-15T08:25:24.8177902Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8178008Z               "line": 5525
2026-06-15T08:25:24.8178111Z             },
2026-06-15T08:25:24.8178215Z             {
2026-06-15T08:25:24.8178344Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8178442Z               "line": 5553
2026-06-15T08:25:24.8178541Z             },
2026-06-15T08:25:24.8178642Z             {
2026-06-15T08:25:24.8178776Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8178880Z               "line": 5607
2026-06-15T08:25:24.8179067Z             },
2026-06-15T08:25:24.8179171Z             {
2026-06-15T08:25:24.8179301Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8179419Z               "line": 5723
2026-06-15T08:25:24.8179514Z             },
2026-06-15T08:25:24.8179615Z             {
2026-06-15T08:25:24.8179738Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8179853Z               "line": 5776
2026-06-15T08:25:24.8179959Z             },
2026-06-15T08:25:24.8180063Z             {
2026-06-15T08:25:24.8180201Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.8180307Z               "line": 298
2026-06-15T08:25:24.8180416Z             },
2026-06-15T08:25:24.8180521Z             {
2026-06-15T08:25:24.8180659Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.8180764Z               "line": 339
2026-06-15T08:25:24.8180860Z             }
2026-06-15T08:25:24.8180969Z           ]
2026-06-15T08:25:24.8181068Z         },
2026-06-15T08:25:24.8181173Z         "int": {
2026-06-15T08:25:24.8181283Z           "complete": true,
2026-06-15T08:25:24.8181401Z           "evidence": [
2026-06-15T08:25:24.8181507Z             {
2026-06-15T08:25:24.8181651Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.8181754Z               "line": 702
2026-06-15T08:25:24.8181860Z             },
2026-06-15T08:25:24.8181965Z             {
2026-06-15T08:25:24.8182107Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8182218Z               "line": 709
2026-06-15T08:25:24.8182313Z             },
2026-06-15T08:25:24.8182408Z             {
2026-06-15T08:25:24.8182557Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8182665Z               "line": 1119
2026-06-15T08:25:24.8182771Z             },
2026-06-15T08:25:24.8182876Z             {
2026-06-15T08:25:24.8183042Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-15T08:25:24.8183148Z               "line": 18
2026-06-15T08:25:24.8183251Z             }
2026-06-15T08:25:24.8183356Z           ]
2026-06-15T08:25:24.8183460Z         },
2026-06-15T08:25:24.8183564Z         "unit": {
2026-06-15T08:25:24.8183677Z           "complete": true,
2026-06-15T08:25:24.8183787Z           "evidence": [
2026-06-15T08:25:24.8183897Z             {
2026-06-15T08:25:24.8184127Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-15T08:25:24.8184245Z               "line": 431
2026-06-15T08:25:24.8184349Z             },
2026-06-15T08:25:24.8184451Z             {
2026-06-15T08:25:24.8184597Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-15T08:25:24.8184708Z               "line": 796
2026-06-15T08:25:24.8184907Z             },
2026-06-15T08:25:24.8185003Z             {
2026-06-15T08:25:24.8185151Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8185251Z               "line": 677
2026-06-15T08:25:24.8185357Z             },
2026-06-15T08:25:24.8185461Z             {
2026-06-15T08:25:24.8185604Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8185710Z               "line": 726
2026-06-15T08:25:24.8185813Z             },
2026-06-15T08:25:24.8185919Z             {
2026-06-15T08:25:24.8186063Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-15T08:25:24.8186185Z               "line": 750
2026-06-15T08:25:24.8186290Z             },
2026-06-15T08:25:24.8186399Z             {
2026-06-15T08:25:24.8186549Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8186659Z               "line": 602
2026-06-15T08:25:24.8186765Z             },
2026-06-15T08:25:24.8186869Z             {
2026-06-15T08:25:24.8187017Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8187140Z               "line": 623
2026-06-15T08:25:24.8187241Z             },
2026-06-15T08:25:24.8187346Z             {
2026-06-15T08:25:24.8187493Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8187609Z               "line": 659
2026-06-15T08:25:24.8187713Z             },
2026-06-15T08:25:24.8187818Z             {
2026-06-15T08:25:24.8187957Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8188061Z               "line": 713
2026-06-15T08:25:24.8188166Z             },
2026-06-15T08:25:24.8188267Z             {
2026-06-15T08:25:24.8188414Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8188510Z               "line": 731
2026-06-15T08:25:24.8188615Z             },
2026-06-15T08:25:24.8188719Z             {
2026-06-15T08:25:24.8188865Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8189054Z               "line": 765
2026-06-15T08:25:24.8189154Z             },
2026-06-15T08:25:24.8189270Z             {
2026-06-15T08:25:24.8189435Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-15T08:25:24.8189555Z               "line": 840
2026-06-15T08:25:24.8189665Z             },
2026-06-15T08:25:24.8189769Z             {
2026-06-15T08:25:24.8189918Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-15T08:25:24.8190022Z               "line": 80
2026-06-15T08:25:24.8190132Z             },
2026-06-15T08:25:24.8190237Z             {
2026-06-15T08:25:24.8190360Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8190486Z               "line": 6486
2026-06-15T08:25:24.8190590Z             },
2026-06-15T08:25:24.8190690Z             {
2026-06-15T08:25:24.8190820Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8190947Z               "line": 7310
2026-06-15T08:25:24.8191047Z             },
2026-06-15T08:25:24.8191149Z             {
2026-06-15T08:25:24.8191281Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8191392Z               "line": 7380
2026-06-15T08:25:24.8191492Z             },
2026-06-15T08:25:24.8191600Z             {
2026-06-15T08:25:24.8191728Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8191843Z               "line": 7418
2026-06-15T08:25:24.8191943Z             }
2026-06-15T08:25:24.8192052Z           ]
2026-06-15T08:25:24.8192158Z         }
2026-06-15T08:25:24.8192267Z       }
2026-06-15T08:25:24.8192362Z     },
2026-06-15T08:25:24.8192468Z     {
2026-06-15T08:25:24.8192572Z       "id": "REQ-START-1",
2026-06-15T08:25:24.8192911Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-15T08:25:24.8193036Z       "requiredStages": [
2026-06-15T08:25:24.8193145Z         "impl",
2026-06-15T08:25:24.8193249Z         "unit"
2026-06-15T08:25:24.8193351Z       ],
2026-06-15T08:25:24.8193460Z       "stages": {
2026-06-15T08:25:24.8193665Z         "doc": {
2026-06-15T08:25:24.8193775Z           "complete": false,
2026-06-15T08:25:24.8193887Z           "evidence": []
2026-06-15T08:25:24.8193983Z         },
2026-06-15T08:25:24.8194082Z         "impl": {
2026-06-15T08:25:24.8194199Z           "complete": true,
2026-06-15T08:25:24.8194314Z           "evidence": [
2026-06-15T08:25:24.8194415Z             {
2026-06-15T08:25:24.8194566Z               "path": "crates/spt-store/src/seed.rs",
2026-06-15T08:25:24.8194687Z               "line": 16
2026-06-15T08:25:24.8194777Z             }
2026-06-15T08:25:24.8194881Z           ]
2026-06-15T08:25:24.8194982Z         },
2026-06-15T08:25:24.8195087Z         "int": {
2026-06-15T08:25:24.8195210Z           "complete": false,
2026-06-15T08:25:24.8195316Z           "evidence": []
2026-06-15T08:25:24.8195426Z         },
2026-06-15T08:25:24.8195535Z         "unit": {
2026-06-15T08:25:24.8195650Z           "complete": true,
2026-06-15T08:25:24.8195755Z           "evidence": [
2026-06-15T08:25:24.8195859Z             {
2026-06-15T08:25:24.8196007Z               "path": "crates/spt-store/src/seed.rs",
2026-06-15T08:25:24.8196112Z               "line": 43
2026-06-15T08:25:24.8196213Z             },
2026-06-15T08:25:24.8196322Z             {
2026-06-15T08:25:24.8196460Z               "path": "crates/spt-store/src/seed.rs",
2026-06-15T08:25:24.8196571Z               "line": 59
2026-06-15T08:25:24.8196684Z             }
2026-06-15T08:25:24.8196792Z           ]
2026-06-15T08:25:24.8196897Z         }
2026-06-15T08:25:24.8197001Z       }
2026-06-15T08:25:24.8197100Z     },
2026-06-15T08:25:24.8197210Z     {
2026-06-15T08:25:24.8197325Z       "id": "REQ-START-2",
2026-06-15T08:25:24.8197506Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-15T08:25:24.8197625Z       "requiredStages": [
2026-06-15T08:25:24.8197724Z         "impl",
2026-06-15T08:25:24.8197835Z         "unit",
2026-06-15T08:25:24.8197939Z         "int"
2026-06-15T08:25:24.8198044Z       ],
2026-06-15T08:25:24.8198150Z       "stages": {
2026-06-15T08:25:24.8198258Z         "doc": {
2026-06-15T08:25:24.8198363Z           "complete": false,
2026-06-15T08:25:24.8198474Z           "evidence": []
2026-06-15T08:25:24.8198578Z         },
2026-06-15T08:25:24.8198688Z         "impl": {
2026-06-15T08:25:24.8198808Z           "complete": true,
2026-06-15T08:25:24.8198921Z           "evidence": [
2026-06-15T08:25:24.8199108Z             {
2026-06-15T08:25:24.8199255Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8199368Z               "line": 16
2026-06-15T08:25:24.8199474Z             },
2026-06-15T08:25:24.8199572Z             {
2026-06-15T08:25:24.8199719Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8199834Z               "line": 100
2026-06-15T08:25:24.8199943Z             },
2026-06-15T08:25:24.8200044Z             {
2026-06-15T08:25:24.8200187Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8200315Z               "line": 240
2026-06-15T08:25:24.8200412Z             }
2026-06-15T08:25:24.8200526Z           ]
2026-06-15T08:25:24.8200620Z         },
2026-06-15T08:25:24.8200722Z         "int": {
2026-06-15T08:25:24.8200840Z           "complete": true,
2026-06-15T08:25:24.8200945Z           "evidence": [
2026-06-15T08:25:24.8201065Z             {
2026-06-15T08:25:24.8201202Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.8201322Z               "line": 186
2026-06-15T08:25:24.8201427Z             }
2026-06-15T08:25:24.8201531Z           ]
2026-06-15T08:25:24.8201637Z         },
2026-06-15T08:25:24.8201746Z         "unit": {
2026-06-15T08:25:24.8201865Z           "complete": true,
2026-06-15T08:25:24.8202071Z           "evidence": [
2026-06-15T08:25:24.8202174Z             {
2026-06-15T08:25:24.8202297Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8202404Z               "line": 463
2026-06-15T08:25:24.8202503Z             },
2026-06-15T08:25:24.8202603Z             {
2026-06-15T08:25:24.8202732Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8202927Z               "line": 496
2026-06-15T08:25:24.8203028Z             }
2026-06-15T08:25:24.8203132Z           ]
2026-06-15T08:25:24.8203233Z         }
2026-06-15T08:25:24.8203342Z       }
2026-06-15T08:25:24.8203433Z     },
2026-06-15T08:25:24.8203542Z     {
2026-06-15T08:25:24.8203653Z       "id": "REQ-START-3",
2026-06-15T08:25:24.8203921Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-15T08:25:24.8204024Z       "requiredStages": [
2026-06-15T08:25:24.8204124Z         "impl",
2026-06-15T08:25:24.8204235Z         "unit",
2026-06-15T08:25:24.8204339Z         "int"
2026-06-15T08:25:24.8204442Z       ],
2026-06-15T08:25:24.8204543Z       "stages": {
2026-06-15T08:25:24.8204647Z         "doc": {
2026-06-15T08:25:24.8204755Z           "complete": false,
2026-06-15T08:25:24.8204860Z           "evidence": []
2026-06-15T08:25:24.8204961Z         },
2026-06-15T08:25:24.8205051Z         "impl": {
2026-06-15T08:25:24.8205160Z           "complete": true,
2026-06-15T08:25:24.8205261Z           "evidence": [
2026-06-15T08:25:24.8205366Z             {
2026-06-15T08:25:24.8205509Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8205618Z               "line": 23
2026-06-15T08:25:24.8205723Z             },
2026-06-15T08:25:24.8205824Z             {
2026-06-15T08:25:24.8205966Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8206070Z               "line": 205
2026-06-15T08:25:24.8206181Z             },
2026-06-15T08:25:24.8206285Z             {
2026-06-15T08:25:24.8206429Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8206549Z               "line": 221
2026-06-15T08:25:24.8206653Z             },
2026-06-15T08:25:24.8206758Z             {
2026-06-15T08:25:24.8206892Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8207010Z               "line": 17
2026-06-15T08:25:24.8207112Z             },
2026-06-15T08:25:24.8207211Z             {
2026-06-15T08:25:24.8207390Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8207500Z               "line": 43
2026-06-15T08:25:24.8207608Z             },
2026-06-15T08:25:24.8207717Z             {
2026-06-15T08:25:24.8207851Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8207979Z               "line": 101
2026-06-15T08:25:24.8208090Z             }
2026-06-15T08:25:24.8208200Z           ]
2026-06-15T08:25:24.8208308Z         },
2026-06-15T08:25:24.8208405Z         "int": {
2026-06-15T08:25:24.8208524Z           "complete": true,
2026-06-15T08:25:24.8208637Z           "evidence": [
2026-06-15T08:25:24.8208739Z             {
2026-06-15T08:25:24.8208872Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-15T08:25:24.8209063Z               "line": 440
2026-06-15T08:25:24.8209167Z             }
2026-06-15T08:25:24.8209272Z           ]
2026-06-15T08:25:24.8209378Z         },
2026-06-15T08:25:24.8209486Z         "unit": {
2026-06-15T08:25:24.8209601Z           "complete": true,
2026-06-15T08:25:24.8209717Z           "evidence": [
2026-06-15T08:25:24.8209819Z             {
2026-06-15T08:25:24.8209972Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8210076Z               "line": 331
2026-06-15T08:25:24.8210174Z             },
2026-06-15T08:25:24.8210284Z             {
2026-06-15T08:25:24.8210409Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8210546Z               "line": 352
2026-06-15T08:25:24.8210652Z             },
2026-06-15T08:25:24.8210757Z             {
2026-06-15T08:25:24.8210903Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-15T08:25:24.8211128Z               "line": 362
2026-06-15T08:25:24.8211233Z             },
2026-06-15T08:25:24.8211348Z             {
2026-06-15T08:25:24.8211480Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8211582Z               "line": 464
2026-06-15T08:25:24.8211681Z             },
2026-06-15T08:25:24.8211906Z             {
2026-06-15T08:25:24.8212043Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8212154Z               "line": 497
2026-06-15T08:25:24.8212260Z             },
2026-06-15T08:25:24.8212372Z             {
2026-06-15T08:25:24.8212502Z               "path": "crates/spt/src/api/startup.rs",
2026-06-15T08:25:24.8212608Z               "line": 505
2026-06-15T08:25:24.8212715Z             }
2026-06-15T08:25:24.8212824Z           ]
2026-06-15T08:25:24.8212930Z         }
2026-06-15T08:25:24.8213034Z       }
2026-06-15T08:25:24.8213139Z     },
2026-06-15T08:25:24.8213240Z     {
2026-06-15T08:25:24.8213363Z       "id": "REQ-START-4",
2026-06-15T08:25:24.8213527Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-15T08:25:24.8213631Z       "requiredStages": [
2026-06-15T08:25:24.8213735Z         "impl",
2026-06-15T08:25:24.8213841Z         "unit"
2026-06-15T08:25:24.8213946Z       ],
2026-06-15T08:25:24.8214045Z       "stages": {
2026-06-15T08:25:24.8214161Z         "doc": {
2026-06-15T08:25:24.8214274Z           "complete": false,
2026-06-15T08:25:24.8214379Z           "evidence": []
2026-06-15T08:25:24.8214485Z         },
2026-06-15T08:25:24.8214589Z         "impl": {
2026-06-15T08:25:24.8214703Z           "complete": true,
2026-06-15T08:25:24.8214815Z           "evidence": [
2026-06-15T08:25:24.8214922Z             {
2026-06-15T08:25:24.8215050Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8215169Z               "line": 461
2026-06-15T08:25:24.8215277Z             }
2026-06-15T08:25:24.8215377Z           ]
2026-06-15T08:25:24.8215482Z         },
2026-06-15T08:25:24.8215577Z         "int": {
2026-06-15T08:25:24.8215691Z           "complete": false,
2026-06-15T08:25:24.8215797Z           "evidence": []
2026-06-15T08:25:24.8215906Z         },
2026-06-15T08:25:24.8216015Z         "unit": {
2026-06-15T08:25:24.8216122Z           "complete": true,
2026-06-15T08:25:24.8216235Z           "evidence": [
2026-06-15T08:25:24.8216340Z             {
2026-06-15T08:25:24.8216493Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8216593Z               "line": 898
2026-06-15T08:25:24.8216703Z             }
2026-06-15T08:25:24.8216808Z           ]
2026-06-15T08:25:24.8216903Z         }
2026-06-15T08:25:24.8217003Z       }
2026-06-15T08:25:24.8217109Z     },
2026-06-15T08:25:24.8217218Z     {
2026-06-15T08:25:24.8217328Z       "id": "REQ-STORE-1",
2026-06-15T08:25:24.8218220Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-15T08:25:24.8218339Z       "requiredStages": [
2026-06-15T08:25:24.8218445Z         "impl",
2026-06-15T08:25:24.8218549Z         "unit"
2026-06-15T08:25:24.8218650Z       ],
2026-06-15T08:25:24.8218755Z       "stages": {
2026-06-15T08:25:24.8218868Z         "doc": {
2026-06-15T08:25:24.8219055Z           "complete": false,
2026-06-15T08:25:24.8219173Z           "evidence": []
2026-06-15T08:25:24.8219280Z         },
2026-06-15T08:25:24.8219379Z         "impl": {
2026-06-15T08:25:24.8219484Z           "complete": true,
2026-06-15T08:25:24.8219590Z           "evidence": [
2026-06-15T08:25:24.8219699Z             {
2026-06-15T08:25:24.8219846Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8219952Z               "line": 23
2026-06-15T08:25:24.8220056Z             },
2026-06-15T08:25:24.8220161Z             {
2026-06-15T08:25:24.8220403Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8220503Z               "line": 46
2026-06-15T08:25:24.8220608Z             },
2026-06-15T08:25:24.8220711Z             {
2026-06-15T08:25:24.8220854Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8220964Z               "line": 97
2026-06-15T08:25:24.8221164Z             },
2026-06-15T08:25:24.8221269Z             {
2026-06-15T08:25:24.8221406Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8221503Z               "line": 125
2026-06-15T08:25:24.8221607Z             },
2026-06-15T08:25:24.8221707Z             {
2026-06-15T08:25:24.8221837Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8221945Z               "line": 181
2026-06-15T08:25:24.8222040Z             },
2026-06-15T08:25:24.8222137Z             {
2026-06-15T08:25:24.8222279Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8222389Z               "line": 205
2026-06-15T08:25:24.8222505Z             },
2026-06-15T08:25:24.8222603Z             {
2026-06-15T08:25:24.8222752Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8222853Z               "line": 441
2026-06-15T08:25:24.8222956Z             },
2026-06-15T08:25:24.8223057Z             {
2026-06-15T08:25:24.8223210Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8223318Z               "line": 25
2026-06-15T08:25:24.8223423Z             },
2026-06-15T08:25:24.8223539Z             {
2026-06-15T08:25:24.8223685Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8223791Z               "line": 120
2026-06-15T08:25:24.8223895Z             },
2026-06-15T08:25:24.8223995Z             {
2026-06-15T08:25:24.8224143Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8224243Z               "line": 148
2026-06-15T08:25:24.8224353Z             },
2026-06-15T08:25:24.8224458Z             {
2026-06-15T08:25:24.8224605Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8224721Z               "line": 165
2026-06-15T08:25:24.8224820Z             },
2026-06-15T08:25:24.8224925Z             {
2026-06-15T08:25:24.8225069Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8225182Z               "line": 180
2026-06-15T08:25:24.8225287Z             },
2026-06-15T08:25:24.8225389Z             {
2026-06-15T08:25:24.8225535Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8225644Z               "line": 198
2026-06-15T08:25:24.8225748Z             },
2026-06-15T08:25:24.8225856Z             {
2026-06-15T08:25:24.8225994Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8226110Z               "line": 207
2026-06-15T08:25:24.8226209Z             },
2026-06-15T08:25:24.8226319Z             {
2026-06-15T08:25:24.8226457Z               "path": "crates/spt-store/src/project.rs",
2026-06-15T08:25:24.8226571Z               "line": 16
2026-06-15T08:25:24.8226682Z             },
2026-06-15T08:25:24.8226781Z             {
2026-06-15T08:25:24.8226920Z               "path": "crates/spt-store/src/project.rs",
2026-06-15T08:25:24.8227029Z               "line": 63
2026-06-15T08:25:24.8227124Z             }
2026-06-15T08:25:24.8227229Z           ]
2026-06-15T08:25:24.8227340Z         },
2026-06-15T08:25:24.8227439Z         "int": {
2026-06-15T08:25:24.8227549Z           "complete": false,
2026-06-15T08:25:24.8227669Z           "evidence": []
2026-06-15T08:25:24.8227773Z         },
2026-06-15T08:25:24.8227879Z         "unit": {
2026-06-15T08:25:24.8227979Z           "complete": true,
2026-06-15T08:25:24.8228092Z           "evidence": [
2026-06-15T08:25:24.8231834Z             {
2026-06-15T08:25:24.8232029Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8232144Z               "line": 558
2026-06-15T08:25:24.8232244Z             },
2026-06-15T08:25:24.8232497Z             {
2026-06-15T08:25:24.8232644Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8232760Z               "line": 568
2026-06-15T08:25:24.8232874Z             },
2026-06-15T08:25:24.8232973Z             {
2026-06-15T08:25:24.8233122Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8233322Z               "line": 590
2026-06-15T08:25:24.8233432Z             },
2026-06-15T08:25:24.8233536Z             {
2026-06-15T08:25:24.8233680Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8233784Z               "line": 606
2026-06-15T08:25:24.8233873Z             },
2026-06-15T08:25:24.8233978Z             {
2026-06-15T08:25:24.8234113Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-15T08:25:24.8234226Z               "line": 629
2026-06-15T08:25:24.8234326Z             },
2026-06-15T08:25:24.8234422Z             {
2026-06-15T08:25:24.8234569Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8234680Z               "line": 472
2026-06-15T08:25:24.8234789Z             },
2026-06-15T08:25:24.8234884Z             {
2026-06-15T08:25:24.8235032Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-15T08:25:24.8235137Z               "line": 507
2026-06-15T08:25:24.8235227Z             },
2026-06-15T08:25:24.8235338Z             {
2026-06-15T08:25:24.8235480Z               "path": "crates/spt-store/src/project.rs",
2026-06-15T08:25:24.8235581Z               "line": 120
2026-06-15T08:25:24.8235681Z             },
2026-06-15T08:25:24.8235785Z             {
2026-06-15T08:25:24.8235925Z               "path": "crates/spt-store/src/project.rs",
2026-06-15T08:25:24.8236038Z               "line": 128
2026-06-15T08:25:24.8236151Z             }
2026-06-15T08:25:24.8236247Z           ]
2026-06-15T08:25:24.8236355Z         }
2026-06-15T08:25:24.8236454Z       }
2026-06-15T08:25:24.8236559Z     },
2026-06-15T08:25:24.8236665Z     {
2026-06-15T08:25:24.8236788Z       "id": "REQ-SUBNET-1",
2026-06-15T08:25:24.8237135Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-15T08:25:24.8237251Z       "requiredStages": [
2026-06-15T08:25:24.8237365Z         "impl",
2026-06-15T08:25:24.8237465Z         "unit"
2026-06-15T08:25:24.8237566Z       ],
2026-06-15T08:25:24.8237675Z       "stages": {
2026-06-15T08:25:24.8237775Z         "doc": {
2026-06-15T08:25:24.8237900Z           "complete": false,
2026-06-15T08:25:24.8238004Z           "evidence": []
2026-06-15T08:25:24.8238114Z         },
2026-06-15T08:25:24.8238219Z         "impl": {
2026-06-15T08:25:24.8238323Z           "complete": true,
2026-06-15T08:25:24.8238444Z           "evidence": [
2026-06-15T08:25:24.8238548Z             {
2026-06-15T08:25:24.8238705Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8238812Z               "line": 281
2026-06-15T08:25:24.8238919Z             },
2026-06-15T08:25:24.8239124Z             {
2026-06-15T08:25:24.8239284Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8239388Z               "line": 599
2026-06-15T08:25:24.8239494Z             },
2026-06-15T08:25:24.8239598Z             {
2026-06-15T08:25:24.8239717Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8239828Z               "line": 2955
2026-06-15T08:25:24.8239932Z             },
2026-06-15T08:25:24.8240042Z             {
2026-06-15T08:25:24.8240171Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8240270Z               "line": 3265
2026-06-15T08:25:24.8240375Z             },
2026-06-15T08:25:24.8240481Z             {
2026-06-15T08:25:24.8240604Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8240710Z               "line": 3284
2026-06-15T08:25:24.8240819Z             },
2026-06-15T08:25:24.8240924Z             {
2026-06-15T08:25:24.8241044Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8241162Z               "line": 3348
2026-06-15T08:25:24.8241364Z             },
2026-06-15T08:25:24.8241468Z             {
2026-06-15T08:25:24.8241585Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8241700Z               "line": 3390
2026-06-15T08:25:24.8241813Z             },
2026-06-15T08:25:24.8241907Z             {
2026-06-15T08:25:24.8242132Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8242231Z               "line": 3579
2026-06-15T08:25:24.8242337Z             },
2026-06-15T08:25:24.8242437Z             {
2026-06-15T08:25:24.8242560Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8242676Z               "line": 3649
2026-06-15T08:25:24.8242776Z             },
2026-06-15T08:25:24.8242884Z             {
2026-06-15T08:25:24.8243005Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8243109Z               "line": 3873
2026-06-15T08:25:24.8243214Z             },
2026-06-15T08:25:24.8243325Z             {
2026-06-15T08:25:24.8243453Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8243557Z               "line": 4510
2026-06-15T08:25:24.8243668Z             },
2026-06-15T08:25:24.8243772Z             {
2026-06-15T08:25:24.8243902Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.8244006Z               "line": 418
2026-06-15T08:25:24.8244106Z             }
2026-06-15T08:25:24.8244212Z           ]
2026-06-15T08:25:24.8244316Z         },
2026-06-15T08:25:24.8244424Z         "int": {
2026-06-15T08:25:24.8244529Z           "complete": false,
2026-06-15T08:25:24.8244639Z           "evidence": []
2026-06-15T08:25:24.8244743Z         },
2026-06-15T08:25:24.8244843Z         "unit": {
2026-06-15T08:25:24.8244954Z           "complete": true,
2026-06-15T08:25:24.8245058Z           "evidence": [
2026-06-15T08:25:24.8245163Z             {
2026-06-15T08:25:24.8245311Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8245430Z               "line": 1477
2026-06-15T08:25:24.8245526Z             },
2026-06-15T08:25:24.8245635Z             {
2026-06-15T08:25:24.8245759Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8245870Z               "line": 8220
2026-06-15T08:25:24.8245973Z             },
2026-06-15T08:25:24.8246074Z             {
2026-06-15T08:25:24.8246204Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8246307Z               "line": 8390
2026-06-15T08:25:24.8246417Z             },
2026-06-15T08:25:24.8246524Z             {
2026-06-15T08:25:24.8246645Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8246744Z               "line": 8397
2026-06-15T08:25:24.8246850Z             },
2026-06-15T08:25:24.8246952Z             {
2026-06-15T08:25:24.8247071Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8247187Z               "line": 8450
2026-06-15T08:25:24.8247291Z             },
2026-06-15T08:25:24.8247391Z             {
2026-06-15T08:25:24.8247525Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8247624Z               "line": 8467
2026-06-15T08:25:24.8247725Z             },
2026-06-15T08:25:24.8247826Z             {
2026-06-15T08:25:24.8247939Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8248045Z               "line": 8497
2026-06-15T08:25:24.8248150Z             },
2026-06-15T08:25:24.8248249Z             {
2026-06-15T08:25:24.8248374Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8248488Z               "line": 8596
2026-06-15T08:25:24.8248593Z             },
2026-06-15T08:25:24.8248699Z             {
2026-06-15T08:25:24.8248826Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8248931Z               "line": 8747
2026-06-15T08:25:24.8249104Z             }
2026-06-15T08:25:24.8249203Z           ]
2026-06-15T08:25:24.8249314Z         }
2026-06-15T08:25:24.8249414Z       }
2026-06-15T08:25:24.8249517Z     },
2026-06-15T08:25:24.8249621Z     {
2026-06-15T08:25:24.8249727Z       "id": "REQ-SUBNET-2",
2026-06-15T08:25:24.8249986Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-15T08:25:24.8250220Z       "requiredStages": [
2026-06-15T08:25:24.8250321Z         "impl",
2026-06-15T08:25:24.8250426Z         "unit",
2026-06-15T08:25:24.8250525Z         "int"
2026-06-15T08:25:24.8250631Z       ],
2026-06-15T08:25:24.8250731Z       "stages": {
2026-06-15T08:25:24.8250940Z         "doc": {
2026-06-15T08:25:24.8251041Z           "complete": true,
2026-06-15T08:25:24.8251150Z           "evidence": [
2026-06-15T08:25:24.8251260Z             {
2026-06-15T08:25:24.8251436Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-15T08:25:24.8251536Z               "line": 60
2026-06-15T08:25:24.8251633Z             }
2026-06-15T08:25:24.8251741Z           ]
2026-06-15T08:25:24.8251841Z         },
2026-06-15T08:25:24.8251952Z         "impl": {
2026-06-15T08:25:24.8252065Z           "complete": true,
2026-06-15T08:25:24.8252169Z           "evidence": [
2026-06-15T08:25:24.8252274Z             {
2026-06-15T08:25:24.8252406Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.8252520Z               "line": 837
2026-06-15T08:25:24.8252621Z             },
2026-06-15T08:25:24.8252725Z             {
2026-06-15T08:25:24.8252873Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.8252983Z               "line": 1190
2026-06-15T08:25:24.8253087Z             },
2026-06-15T08:25:24.8253183Z             {
2026-06-15T08:25:24.8253326Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.8253435Z               "line": 538
2026-06-15T08:25:24.8253536Z             },
2026-06-15T08:25:24.8253641Z             {
2026-06-15T08:25:24.8253769Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-15T08:25:24.8253875Z               "line": 669
2026-06-15T08:25:24.8253979Z             },
2026-06-15T08:25:24.8254084Z             {
2026-06-15T08:25:24.8254218Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8254322Z               "line": 26
2026-06-15T08:25:24.8254433Z             },
2026-06-15T08:25:24.8254529Z             {
2026-06-15T08:25:24.8254666Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8254767Z               "line": 60
2026-06-15T08:25:24.8254876Z             },
2026-06-15T08:25:24.8254975Z             {
2026-06-15T08:25:24.8255118Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8255219Z               "line": 168
2026-06-15T08:25:24.8255322Z             },
2026-06-15T08:25:24.8255423Z             {
2026-06-15T08:25:24.8255557Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8255670Z               "line": 295
2026-06-15T08:25:24.8255767Z             },
2026-06-15T08:25:24.8255876Z             {
2026-06-15T08:25:24.8256019Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8256125Z               "line": 417
2026-06-15T08:25:24.8256239Z             },
2026-06-15T08:25:24.8256343Z             {
2026-06-15T08:25:24.8256487Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-15T08:25:24.8256591Z               "line": 252
2026-06-15T08:25:24.8256692Z             },
2026-06-15T08:25:24.8256797Z             {
2026-06-15T08:25:24.8256911Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8257021Z               "line": 3311
2026-06-15T08:25:24.8257121Z             },
2026-06-15T08:25:24.8257219Z             {
2026-06-15T08:25:24.8257348Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8257457Z               "line": 3812
2026-06-15T08:25:24.8257556Z             },
2026-06-15T08:25:24.8257661Z             {
2026-06-15T08:25:24.8257786Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8257889Z               "line": 4441
2026-06-15T08:25:24.8257999Z             }
2026-06-15T08:25:24.8258099Z           ]
2026-06-15T08:25:24.8258184Z         },
2026-06-15T08:25:24.8258285Z         "int": {
2026-06-15T08:25:24.8258481Z           "complete": true,
2026-06-15T08:25:24.8258585Z           "evidence": [
2026-06-15T08:25:24.8258687Z             {
2026-06-15T08:25:24.8258833Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-15T08:25:24.8259016Z               "line": 22
2026-06-15T08:25:24.8259115Z             },
2026-06-15T08:25:24.8259229Z             {
2026-06-15T08:25:24.8259463Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8259564Z               "line": 576
2026-06-15T08:25:24.8259664Z             },
2026-06-15T08:25:24.8259763Z             {
2026-06-15T08:25:24.8259907Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8260016Z               "line": 793
2026-06-15T08:25:24.8260120Z             }
2026-06-15T08:25:24.8260225Z           ]
2026-06-15T08:25:24.8260329Z         },
2026-06-15T08:25:24.8260432Z         "unit": {
2026-06-15T08:25:24.8260547Z           "complete": true,
2026-06-15T08:25:24.8260648Z           "evidence": [
2026-06-15T08:25:24.8260751Z             {
2026-06-15T08:25:24.8260896Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8260991Z               "line": 586
2026-06-15T08:25:24.8261090Z             },
2026-06-15T08:25:24.8261186Z             {
2026-06-15T08:25:24.8261315Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8261419Z               "line": 8260
2026-06-15T08:25:24.8261525Z             },
2026-06-15T08:25:24.8261634Z             {
2026-06-15T08:25:24.8261758Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8261874Z               "line": 8951
2026-06-15T08:25:24.8261968Z             }
2026-06-15T08:25:24.8262073Z           ]
2026-06-15T08:25:24.8262179Z         }
2026-06-15T08:25:24.8262277Z       }
2026-06-15T08:25:24.8262378Z     },
2026-06-15T08:25:24.8262479Z     {
2026-06-15T08:25:24.8262592Z       "id": "REQ-SUBNET-3",
2026-06-15T08:25:24.8262881Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-15T08:25:24.8263008Z       "requiredStages": [
2026-06-15T08:25:24.8263109Z         "impl",
2026-06-15T08:25:24.8263215Z         "unit"
2026-06-15T08:25:24.8263309Z       ],
2026-06-15T08:25:24.8263409Z       "stages": {
2026-06-15T08:25:24.8263515Z         "doc": {
2026-06-15T08:25:24.8263619Z           "complete": false,
2026-06-15T08:25:24.8263733Z           "evidence": []
2026-06-15T08:25:24.8263839Z         },
2026-06-15T08:25:24.8263943Z         "impl": {
2026-06-15T08:25:24.8264048Z           "complete": true,
2026-06-15T08:25:24.8264158Z           "evidence": [
2026-06-15T08:25:24.8264263Z             {
2026-06-15T08:25:24.8264412Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8264520Z               "line": 152
2026-06-15T08:25:24.8264625Z             },
2026-06-15T08:25:24.8264722Z             {
2026-06-15T08:25:24.8264868Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8264968Z               "line": 299
2026-06-15T08:25:24.8265070Z             },
2026-06-15T08:25:24.8265173Z             {
2026-06-15T08:25:24.8265327Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8265432Z               "line": 437
2026-06-15T08:25:24.8265535Z             },
2026-06-15T08:25:24.8265639Z             {
2026-06-15T08:25:24.8265779Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8265892Z               "line": 480
2026-06-15T08:25:24.8265993Z             },
2026-06-15T08:25:24.8266093Z             {
2026-06-15T08:25:24.8266235Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8266336Z               "line": 125
2026-06-15T08:25:24.8266436Z             },
2026-06-15T08:25:24.8266540Z             {
2026-06-15T08:25:24.8266680Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8266784Z               "line": 253
2026-06-15T08:25:24.8266893Z             },
2026-06-15T08:25:24.8267000Z             {
2026-06-15T08:25:24.8267228Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8267343Z               "line": 264
2026-06-15T08:25:24.8267436Z             },
2026-06-15T08:25:24.8267538Z             {
2026-06-15T08:25:24.8267676Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8267784Z               "line": 285
2026-06-15T08:25:24.8267956Z             },
2026-06-15T08:25:24.8268059Z             {
2026-06-15T08:25:24.8268206Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8268307Z               "line": 589
2026-06-15T08:25:24.8268407Z             },
2026-06-15T08:25:24.8268506Z             {
2026-06-15T08:25:24.8268631Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8268736Z               "line": 648
2026-06-15T08:25:24.8268840Z             },
2026-06-15T08:25:24.8269008Z             {
2026-06-15T08:25:24.8269155Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.8269270Z               "line": 61
2026-06-15T08:25:24.8269384Z             },
2026-06-15T08:25:24.8269494Z             {
2026-06-15T08:25:24.8269641Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.8269746Z               "line": 90
2026-06-15T08:25:24.8269862Z             },
2026-06-15T08:25:24.8269951Z             {
2026-06-15T08:25:24.8270100Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.8270205Z               "line": 125
2026-06-15T08:25:24.8270308Z             },
2026-06-15T08:25:24.8270415Z             {
2026-06-15T08:25:24.8270549Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-15T08:25:24.8270656Z               "line": 9
2026-06-15T08:25:24.8270761Z             },
2026-06-15T08:25:24.8270861Z             {
2026-06-15T08:25:24.8271011Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8271116Z               "line": 3649
2026-06-15T08:25:24.8271227Z             },
2026-06-15T08:25:24.8271326Z             {
2026-06-15T08:25:24.8271456Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.8271566Z               "line": 445
2026-06-15T08:25:24.8271664Z             }
2026-06-15T08:25:24.8271771Z           ]
2026-06-15T08:25:24.8271875Z         },
2026-06-15T08:25:24.8271984Z         "int": {
2026-06-15T08:25:24.8272100Z           "complete": false,
2026-06-15T08:25:24.8272208Z           "evidence": []
2026-06-15T08:25:24.8272308Z         },
2026-06-15T08:25:24.8272410Z         "unit": {
2026-06-15T08:25:24.8272523Z           "complete": true,
2026-06-15T08:25:24.8272628Z           "evidence": [
2026-06-15T08:25:24.8272734Z             {
2026-06-15T08:25:24.8272880Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8272991Z               "line": 1304
2026-06-15T08:25:24.8273096Z             },
2026-06-15T08:25:24.8273204Z             {
2026-06-15T08:25:24.8273351Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8273469Z               "line": 1606
2026-06-15T08:25:24.8273578Z             },
2026-06-15T08:25:24.8273678Z             {
2026-06-15T08:25:24.8273812Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.8273921Z               "line": 888
2026-06-15T08:25:24.8274032Z             },
2026-06-15T08:25:24.8274132Z             {
2026-06-15T08:25:24.8274274Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8274384Z               "line": 959
2026-06-15T08:25:24.8274484Z             },
2026-06-15T08:25:24.8274589Z             {
2026-06-15T08:25:24.8274718Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8274832Z               "line": 1009
2026-06-15T08:25:24.8274928Z             },
2026-06-15T08:25:24.8275033Z             {
2026-06-15T08:25:24.8275166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8275267Z               "line": 1068
2026-06-15T08:25:24.8275371Z             },
2026-06-15T08:25:24.8275572Z             {
2026-06-15T08:25:24.8275714Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-15T08:25:24.8275824Z               "line": 234
2026-06-15T08:25:24.8275931Z             },
2026-06-15T08:25:24.8276038Z             {
2026-06-15T08:25:24.8276175Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-15T08:25:24.8276386Z               "line": 49
2026-06-15T08:25:24.8276490Z             },
2026-06-15T08:25:24.8276586Z             {
2026-06-15T08:25:24.8276715Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8276819Z               "line": 8596
2026-06-15T08:25:24.8276925Z             },
2026-06-15T08:25:24.8277025Z             {
2026-06-15T08:25:24.8277154Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8277259Z               "line": 8702
2026-06-15T08:25:24.8277359Z             },
2026-06-15T08:25:24.8277468Z             {
2026-06-15T08:25:24.8277588Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8277693Z               "line": 8917
2026-06-15T08:25:24.8277788Z             }
2026-06-15T08:25:24.8277893Z           ]
2026-06-15T08:25:24.8277997Z         }
2026-06-15T08:25:24.8278098Z       }
2026-06-15T08:25:24.8278199Z     },
2026-06-15T08:25:24.8278302Z     {
2026-06-15T08:25:24.8278421Z       "id": "REQ-SUBNET-4",
2026-06-15T08:25:24.8278728Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-15T08:25:24.8278853Z       "requiredStages": [
2026-06-15T08:25:24.8279028Z         "impl",
2026-06-15T08:25:24.8279134Z         "unit"
2026-06-15T08:25:24.8279239Z       ],
2026-06-15T08:25:24.8279338Z       "stages": {
2026-06-15T08:25:24.8279454Z         "doc": {
2026-06-15T08:25:24.8279563Z           "complete": true,
2026-06-15T08:25:24.8279677Z           "evidence": [
2026-06-15T08:25:24.8279783Z             {
2026-06-15T08:25:24.8279958Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-15T08:25:24.8280074Z               "line": 60
2026-06-15T08:25:24.8280178Z             }
2026-06-15T08:25:24.8280283Z           ]
2026-06-15T08:25:24.8280389Z         },
2026-06-15T08:25:24.8280493Z         "impl": {
2026-06-15T08:25:24.8280607Z           "complete": true,
2026-06-15T08:25:24.8280713Z           "evidence": [
2026-06-15T08:25:24.8280808Z             {
2026-06-15T08:25:24.8280936Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8281052Z               "line": 2955
2026-06-15T08:25:24.8281156Z             },
2026-06-15T08:25:24.8281259Z             {
2026-06-15T08:25:24.8281383Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8281496Z               "line": 4408
2026-06-15T08:25:24.8281595Z             },
2026-06-15T08:25:24.8281696Z             {
2026-06-15T08:25:24.8281820Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8281919Z               "line": 4441
2026-06-15T08:25:24.8282030Z             }
2026-06-15T08:25:24.8282135Z           ]
2026-06-15T08:25:24.8282234Z         },
2026-06-15T08:25:24.8282340Z         "int": {
2026-06-15T08:25:24.8282450Z           "complete": false,
2026-06-15T08:25:24.8282563Z           "evidence": []
2026-06-15T08:25:24.8282660Z         },
2026-06-15T08:25:24.8282768Z         "unit": {
2026-06-15T08:25:24.8282883Z           "complete": true,
2026-06-15T08:25:24.8282989Z           "evidence": [
2026-06-15T08:25:24.8283092Z             {
2026-06-15T08:25:24.8283217Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8283328Z               "line": 8376
2026-06-15T08:25:24.8283431Z             },
2026-06-15T08:25:24.8283527Z             {
2026-06-15T08:25:24.8283657Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8283760Z               "line": 8450
2026-06-15T08:25:24.8283868Z             }
2026-06-15T08:25:24.8283969Z           ]
2026-06-15T08:25:24.8284076Z         }
2026-06-15T08:25:24.8284180Z       }
2026-06-15T08:25:24.8284287Z     },
2026-06-15T08:25:24.8284391Z     {
2026-06-15T08:25:24.8284620Z       "id": "REQ-SUBNET-5",
2026-06-15T08:25:24.8285889Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-15T08:25:24.8286123Z       "requiredStages": [
2026-06-15T08:25:24.8286232Z         "impl",
2026-06-15T08:25:24.8286346Z         "unit",
2026-06-15T08:25:24.8286448Z         "int"
2026-06-15T08:25:24.8286561Z       ],
2026-06-15T08:25:24.8286665Z       "stages": {
2026-06-15T08:25:24.8286774Z         "doc": {
2026-06-15T08:25:24.8286885Z           "complete": false,
2026-06-15T08:25:24.8287003Z           "evidence": []
2026-06-15T08:25:24.8287113Z         },
2026-06-15T08:25:24.8287213Z         "impl": {
2026-06-15T08:25:24.8287318Z           "complete": true,
2026-06-15T08:25:24.8287438Z           "evidence": [
2026-06-15T08:25:24.8287547Z             {
2026-06-15T08:25:24.8287694Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-15T08:25:24.8287795Z               "line": 126
2026-06-15T08:25:24.8287904Z             },
2026-06-15T08:25:24.8288004Z             {
2026-06-15T08:25:24.8288158Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-15T08:25:24.8288262Z               "line": 413
2026-06-15T08:25:24.8288367Z             },
2026-06-15T08:25:24.8288467Z             {
2026-06-15T08:25:24.8288610Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8288716Z               "line": 74
2026-06-15T08:25:24.8288820Z             },
2026-06-15T08:25:24.8288928Z             {
2026-06-15T08:25:24.8289147Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.8289260Z               "line": 332
2026-06-15T08:25:24.8289360Z             },
2026-06-15T08:25:24.8289466Z             {
2026-06-15T08:25:24.8289612Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.8289718Z               "line": 621
2026-06-15T08:25:24.8289823Z             },
2026-06-15T08:25:24.8289927Z             {
2026-06-15T08:25:24.8290076Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.8290185Z               "line": 31
2026-06-15T08:25:24.8290290Z             },
2026-06-15T08:25:24.8290395Z             {
2026-06-15T08:25:24.8290528Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.8290644Z               "line": 50
2026-06-15T08:25:24.8290743Z             },
2026-06-15T08:25:24.8290843Z             {
2026-06-15T08:25:24.8290992Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.8291096Z               "line": 69
2026-06-15T08:25:24.8291200Z             },
2026-06-15T08:25:24.8291297Z             {
2026-06-15T08:25:24.8291438Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.8291545Z               "line": 113
2026-06-15T08:25:24.8291650Z             },
2026-06-15T08:25:24.8291753Z             {
2026-06-15T08:25:24.8291900Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-15T08:25:24.8292005Z               "line": 25
2026-06-15T08:25:24.8292108Z             },
2026-06-15T08:25:24.8292213Z             {
2026-06-15T08:25:24.8292357Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-15T08:25:24.8292460Z               "line": 34
2026-06-15T08:25:24.8292571Z             },
2026-06-15T08:25:24.8292666Z             {
2026-06-15T08:25:24.8292808Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-15T08:25:24.8292919Z               "line": 17
2026-06-15T08:25:24.8293020Z             },
2026-06-15T08:25:24.8293123Z             {
2026-06-15T08:25:24.8293253Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8293358Z               "line": 4366
2026-06-15T08:25:24.8293462Z             },
2026-06-15T08:25:24.8293568Z             {
2026-06-15T08:25:24.8293831Z               "path": "crates/spt/src/wansend.rs",
2026-06-15T08:25:24.8293991Z               "line": 419
2026-06-15T08:25:24.8294087Z             }
2026-06-15T08:25:24.8294212Z           ]
2026-06-15T08:25:24.8294372Z         },
2026-06-15T08:25:24.8294510Z         "int": {
2026-06-15T08:25:24.8294632Z           "complete": true,
2026-06-15T08:25:24.8294832Z           "evidence": [
2026-06-15T08:25:24.8294933Z             {
2026-06-15T08:25:24.8295080Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.8295248Z               "line": 817
2026-06-15T08:25:24.8295399Z             }
2026-06-15T08:25:24.8295519Z           ]
2026-06-15T08:25:24.8295642Z         },
2026-06-15T08:25:24.8295753Z         "unit": {
2026-06-15T08:25:24.8295866Z           "complete": true,
2026-06-15T08:25:24.8295976Z           "evidence": [
2026-06-15T08:25:24.8296087Z             {
2026-06-15T08:25:24.8296230Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.8296343Z               "line": 341
2026-06-15T08:25:24.8296454Z             },
2026-06-15T08:25:24.8296553Z             {
2026-06-15T08:25:24.8296698Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-15T08:25:24.8296797Z               "line": 1115
2026-06-15T08:25:24.8296906Z             },
2026-06-15T08:25:24.8297017Z             {
2026-06-15T08:25:24.8297163Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-15T08:25:24.8297267Z               "line": 151
2026-06-15T08:25:24.8297373Z             },
2026-06-15T08:25:24.8297478Z             {
2026-06-15T08:25:24.8297625Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-15T08:25:24.8297735Z               "line": 61
2026-06-15T08:25:24.8297844Z             },
2026-06-15T08:25:24.8297949Z             {
2026-06-15T08:25:24.8298083Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-15T08:25:24.8298187Z               "line": 111
2026-06-15T08:25:24.8298298Z             },
2026-06-15T08:25:24.8298407Z             {
2026-06-15T08:25:24.8298545Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-15T08:25:24.8298661Z               "line": 138
2026-06-15T08:25:24.8298760Z             },
2026-06-15T08:25:24.8298865Z             {
2026-06-15T08:25:24.8299098Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-15T08:25:24.8299218Z               "line": 148
2026-06-15T08:25:24.8299324Z             },
2026-06-15T08:25:24.8299442Z             {
2026-06-15T08:25:24.8299565Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8299669Z               "line": 8277
2026-06-15T08:25:24.8299773Z             }
2026-06-15T08:25:24.8299872Z           ]
2026-06-15T08:25:24.8299983Z         }
2026-06-15T08:25:24.8300082Z       }
2026-06-15T08:25:24.8300187Z     },
2026-06-15T08:25:24.8300293Z     {
2026-06-15T08:25:24.8300402Z       "id": "REQ-SUBNET-6",
2026-06-15T08:25:24.8301102Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-15T08:25:24.8301218Z       "requiredStages": [
2026-06-15T08:25:24.8301322Z         "impl",
2026-06-15T08:25:24.8301431Z         "unit"
2026-06-15T08:25:24.8301543Z       ],
2026-06-15T08:25:24.8301646Z       "stages": {
2026-06-15T08:25:24.8301751Z         "doc": {
2026-06-15T08:25:24.8301871Z           "complete": false,
2026-06-15T08:25:24.8301975Z           "evidence": []
2026-06-15T08:25:24.8302080Z         },
2026-06-15T08:25:24.8302182Z         "impl": {
2026-06-15T08:25:24.8302299Z           "complete": true,
2026-06-15T08:25:24.8302403Z           "evidence": [
2026-06-15T08:25:24.8302504Z             {
2026-06-15T08:25:24.8302645Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8302739Z               "line": 254
2026-06-15T08:25:24.8302845Z             },
2026-06-15T08:25:24.8303054Z             {
2026-06-15T08:25:24.8303179Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8303288Z               "line": 4024
2026-06-15T08:25:24.8303388Z             },
2026-06-15T08:25:24.8303494Z             {
2026-06-15T08:25:24.8303612Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8303832Z               "line": 4041
2026-06-15T08:25:24.8303932Z             },
2026-06-15T08:25:24.8304032Z             {
2026-06-15T08:25:24.8304161Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8304266Z               "line": 4094
2026-06-15T08:25:24.8304371Z             },
2026-06-15T08:25:24.8304481Z             {
2026-06-15T08:25:24.8304599Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8304706Z               "line": 4117
2026-06-15T08:25:24.8304805Z             }
2026-06-15T08:25:24.8304903Z           ]
2026-06-15T08:25:24.8304998Z         },
2026-06-15T08:25:24.8305099Z         "int": {
2026-06-15T08:25:24.8305211Z           "complete": false,
2026-06-15T08:25:24.8305325Z           "evidence": []
2026-06-15T08:25:24.8305426Z         },
2026-06-15T08:25:24.8305530Z         "unit": {
2026-06-15T08:25:24.8305645Z           "complete": true,
2026-06-15T08:25:24.8305750Z           "evidence": [
2026-06-15T08:25:24.8305855Z             {
2026-06-15T08:25:24.8305979Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8306093Z               "line": 8291
2026-06-15T08:25:24.8306202Z             },
2026-06-15T08:25:24.8306299Z             {
2026-06-15T08:25:24.8306427Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8306536Z               "line": 8324
2026-06-15T08:25:24.8306652Z             },
2026-06-15T08:25:24.8306756Z             {
2026-06-15T08:25:24.8306875Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8306991Z               "line": 8333
2026-06-15T08:25:24.8307094Z             }
2026-06-15T08:25:24.8307195Z           ]
2026-06-15T08:25:24.8307291Z         }
2026-06-15T08:25:24.8307399Z       }
2026-06-15T08:25:24.8307504Z     },
2026-06-15T08:25:24.8307615Z     {
2026-06-15T08:25:24.8307733Z       "id": "REQ-SUBNET-7",
2026-06-15T08:25:24.8309498Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-15T08:25:24.8309625Z       "requiredStages": [
2026-06-15T08:25:24.8309730Z         "impl",
2026-06-15T08:25:24.8309831Z         "unit"
2026-06-15T08:25:24.8309940Z       ],
2026-06-15T08:25:24.8310035Z       "stages": {
2026-06-15T08:25:24.8310134Z         "doc": {
2026-06-15T08:25:24.8310257Z           "complete": false,
2026-06-15T08:25:24.8310366Z           "evidence": []
2026-06-15T08:25:24.8310471Z         },
2026-06-15T08:25:24.8310572Z         "impl": {
2026-06-15T08:25:24.8310690Z           "complete": true,
2026-06-15T08:25:24.8310795Z           "evidence": [
2026-06-15T08:25:24.8313706Z             {
2026-06-15T08:25:24.8313905Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-15T08:25:24.8314021Z               "line": 17
2026-06-15T08:25:24.8314120Z             },
2026-06-15T08:25:24.8314215Z             {
2026-06-15T08:25:24.8314373Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8314473Z               "line": 103
2026-06-15T08:25:24.8314578Z             },
2026-06-15T08:25:24.8314679Z             {
2026-06-15T08:25:24.8314826Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-15T08:25:24.8314926Z               "line": 312
2026-06-15T08:25:24.8315032Z             },
2026-06-15T08:25:24.8315270Z             {
2026-06-15T08:25:24.8315417Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-15T08:25:24.8315520Z               "line": 131
2026-06-15T08:25:24.8315621Z             },
2026-06-15T08:25:24.8315724Z             {
2026-06-15T08:25:24.8315871Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8316081Z               "line": 160
2026-06-15T08:25:24.8316186Z             },
2026-06-15T08:25:24.8316287Z             {
2026-06-15T08:25:24.8316434Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8316534Z               "line": 441
2026-06-15T08:25:24.8316635Z             },
2026-06-15T08:25:24.8316739Z             {
2026-06-15T08:25:24.8316883Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8316992Z               "line": 618
2026-06-15T08:25:24.8317101Z             },
2026-06-15T08:25:24.8317203Z             {
2026-06-15T08:25:24.8317345Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8317459Z               "line": 658
2026-06-15T08:25:24.8317551Z             },
2026-06-15T08:25:24.8317650Z             {
2026-06-15T08:25:24.8317798Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8317904Z               "line": 714
2026-06-15T08:25:24.8318007Z             },
2026-06-15T08:25:24.8318108Z             {
2026-06-15T08:25:24.8318251Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.8318364Z               "line": 136
2026-06-15T08:25:24.8318459Z             },
2026-06-15T08:25:24.8318555Z             {
2026-06-15T08:25:24.8318683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8318794Z               "line": 139
2026-06-15T08:25:24.8318898Z             }
2026-06-15T08:25:24.8319079Z           ]
2026-06-15T08:25:24.8319185Z         },
2026-06-15T08:25:24.8319289Z         "int": {
2026-06-15T08:25:24.8319408Z           "complete": false,
2026-06-15T08:25:24.8319514Z           "evidence": []
2026-06-15T08:25:24.8319618Z         },
2026-06-15T08:25:24.8319728Z         "unit": {
2026-06-15T08:25:24.8319838Z           "complete": true,
2026-06-15T08:25:24.8319938Z           "evidence": [
2026-06-15T08:25:24.8320038Z             {
2026-06-15T08:25:24.8320176Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-15T08:25:24.8320276Z               "line": 136
2026-06-15T08:25:24.8320377Z             },
2026-06-15T08:25:24.8320482Z             {
2026-06-15T08:25:24.8320609Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-15T08:25:24.8320713Z               "line": 156
2026-06-15T08:25:24.8320818Z             },
2026-06-15T08:25:24.8320921Z             {
2026-06-15T08:25:24.8321065Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8321170Z               "line": 935
2026-06-15T08:25:24.8321274Z             },
2026-06-15T08:25:24.8321374Z             {
2026-06-15T08:25:24.8321527Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-15T08:25:24.8321631Z               "line": 957
2026-06-15T08:25:24.8321737Z             },
2026-06-15T08:25:24.8321837Z             {
2026-06-15T08:25:24.8321985Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-15T08:25:24.8322099Z               "line": 1419
2026-06-15T08:25:24.8322203Z             },
2026-06-15T08:25:24.8322304Z             {
2026-06-15T08:25:24.8322447Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-15T08:25:24.8322552Z               "line": 1004
2026-06-15T08:25:24.8322658Z             }
2026-06-15T08:25:24.8322757Z           ]
2026-06-15T08:25:24.8322862Z         }
2026-06-15T08:25:24.8322954Z       }
2026-06-15T08:25:24.8323057Z     },
2026-06-15T08:25:24.8323158Z     {
2026-06-15T08:25:24.8323268Z       "id": "REQ-SUBNET-8",
2026-06-15T08:25:24.8324399Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-15T08:25:24.8324642Z       "requiredStages": [
2026-06-15T08:25:24.8324751Z         "impl",
2026-06-15T08:25:24.8324957Z         "unit"
2026-06-15T08:25:24.8325061Z       ],
2026-06-15T08:25:24.8325167Z       "stages": {
2026-06-15T08:25:24.8325272Z         "doc": {
2026-06-15T08:25:24.8325390Z           "complete": false,
2026-06-15T08:25:24.8325496Z           "evidence": []
2026-06-15T08:25:24.8325592Z         },
2026-06-15T08:25:24.8325695Z         "impl": {
2026-06-15T08:25:24.8325806Z           "complete": true,
2026-06-15T08:25:24.8325911Z           "evidence": [
2026-06-15T08:25:24.8326019Z             {
2026-06-15T08:25:24.8326147Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8326256Z               "line": 3391
2026-06-15T08:25:24.8326364Z             },
2026-06-15T08:25:24.8326465Z             {
2026-06-15T08:25:24.8326595Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8326698Z               "line": 3420
2026-06-15T08:25:24.8326804Z             },
2026-06-15T08:25:24.8326899Z             {
2026-06-15T08:25:24.8327022Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8327133Z               "line": 3437
2026-06-15T08:25:24.8327233Z             },
2026-06-15T08:25:24.8327337Z             {
2026-06-15T08:25:24.8327448Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8327562Z               "line": 3460
2026-06-15T08:25:24.8327661Z             },
2026-06-15T08:25:24.8327758Z             {
2026-06-15T08:25:24.8327881Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8327985Z               "line": 3874
2026-06-15T08:25:24.8328087Z             }
2026-06-15T08:25:24.8328191Z           ]
2026-06-15T08:25:24.8328296Z         },
2026-06-15T08:25:24.8328397Z         "int": {
2026-06-15T08:25:24.8328506Z           "complete": false,
2026-06-15T08:25:24.8328620Z           "evidence": []
2026-06-15T08:25:24.8328712Z         },
2026-06-15T08:25:24.8328816Z         "unit": {
2026-06-15T08:25:24.8328919Z           "complete": true,
2026-06-15T08:25:24.8329111Z           "evidence": [
2026-06-15T08:25:24.8329215Z             {
2026-06-15T08:25:24.8329339Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8329440Z               "line": 8481
2026-06-15T08:25:24.8329539Z             },
2026-06-15T08:25:24.8329644Z             {
2026-06-15T08:25:24.8329769Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8329873Z               "line": 8497
2026-06-15T08:25:24.8329973Z             }
2026-06-15T08:25:24.8330074Z           ]
2026-06-15T08:25:24.8330174Z         }
2026-06-15T08:25:24.8330269Z       }
2026-06-15T08:25:24.8330365Z     },
2026-06-15T08:25:24.8330469Z     {
2026-06-15T08:25:24.8330579Z       "id": "REQ-TERM-1",
2026-06-15T08:25:24.8330774Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-15T08:25:24.8330879Z       "requiredStages": [
2026-06-15T08:25:24.8330990Z         "impl",
2026-06-15T08:25:24.8331093Z         "unit"
2026-06-15T08:25:24.8331193Z       ],
2026-06-15T08:25:24.8331302Z       "stages": {
2026-06-15T08:25:24.8331401Z         "doc": {
2026-06-15T08:25:24.8331510Z           "complete": false,
2026-06-15T08:25:24.8331605Z           "evidence": []
2026-06-15T08:25:24.8331712Z         },
2026-06-15T08:25:24.8331810Z         "impl": {
2026-06-15T08:25:24.8331925Z           "complete": true,
2026-06-15T08:25:24.8332025Z           "evidence": [
2026-06-15T08:25:24.8332129Z             {
2026-06-15T08:25:24.8332260Z               "path": "crates/spt-term/src/pty.rs",
2026-06-15T08:25:24.8332359Z               "line": 59
2026-06-15T08:25:24.8332463Z             },
2026-06-15T08:25:24.8332565Z             {
2026-06-15T08:25:24.8332698Z               "path": "crates/spt-term/src/pty.rs",
2026-06-15T08:25:24.8332802Z               "line": 195
2026-06-15T08:25:24.8333007Z             },
2026-06-15T08:25:24.8333112Z             {
2026-06-15T08:25:24.8333247Z               "path": "crates/spt-term/src/surface.rs",
2026-06-15T08:25:24.8333350Z               "line": 100
2026-06-15T08:25:24.8333451Z             }
2026-06-15T08:25:24.8333557Z           ]
2026-06-15T08:25:24.8333756Z         },
2026-06-15T08:25:24.8333862Z         "int": {
2026-06-15T08:25:24.8333970Z           "complete": false,
2026-06-15T08:25:24.8334074Z           "evidence": []
2026-06-15T08:25:24.8334174Z         },
2026-06-15T08:25:24.8334273Z         "unit": {
2026-06-15T08:25:24.8334382Z           "complete": true,
2026-06-15T08:25:24.8334487Z           "evidence": [
2026-06-15T08:25:24.8334593Z             {
2026-06-15T08:25:24.8334734Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-15T08:25:24.8334836Z               "line": 24
2026-06-15T08:25:24.8334935Z             },
2026-06-15T08:25:24.8335040Z             {
2026-06-15T08:25:24.8335183Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-15T08:25:24.8335283Z               "line": 56
2026-06-15T08:25:24.8335388Z             }
2026-06-15T08:25:24.8335489Z           ]
2026-06-15T08:25:24.8335593Z         }
2026-06-15T08:25:24.8335693Z       }
2026-06-15T08:25:24.8335795Z     },
2026-06-15T08:25:24.8335898Z     {
2026-06-15T08:25:24.8336017Z       "id": "REQ-TERM-2",
2026-06-15T08:25:24.8336222Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-15T08:25:24.8336337Z       "requiredStages": [
2026-06-15T08:25:24.8336438Z         "impl",
2026-06-15T08:25:24.8336541Z         "unit"
2026-06-15T08:25:24.8336631Z       ],
2026-06-15T08:25:24.8336737Z       "stages": {
2026-06-15T08:25:24.8336840Z         "doc": {
2026-06-15T08:25:24.8336948Z           "complete": false,
2026-06-15T08:25:24.8337059Z           "evidence": []
2026-06-15T08:25:24.8337159Z         },
2026-06-15T08:25:24.8337267Z         "impl": {
2026-06-15T08:25:24.8337364Z           "complete": true,
2026-06-15T08:25:24.8337483Z           "evidence": [
2026-06-15T08:25:24.8337582Z             {
2026-06-15T08:25:24.8337731Z               "path": "crates/spt-term/src/surface.rs",
2026-06-15T08:25:24.8337831Z               "line": 117
2026-06-15T08:25:24.8337930Z             },
2026-06-15T08:25:24.8338041Z             {
2026-06-15T08:25:24.8338165Z               "path": "crates/spt-term/src/surface.rs",
2026-06-15T08:25:24.8338274Z               "line": 127
2026-06-15T08:25:24.8338375Z             }
2026-06-15T08:25:24.8338475Z           ]
2026-06-15T08:25:24.8338574Z         },
2026-06-15T08:25:24.8338676Z         "int": {
2026-06-15T08:25:24.8338775Z           "complete": false,
2026-06-15T08:25:24.8338870Z           "evidence": []
2026-06-15T08:25:24.8339066Z         },
2026-06-15T08:25:24.8339157Z         "unit": {
2026-06-15T08:25:24.8339267Z           "complete": true,
2026-06-15T08:25:24.8339381Z           "evidence": [
2026-06-15T08:25:24.8339489Z             {
2026-06-15T08:25:24.8339632Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-15T08:25:24.8339738Z               "line": 46
2026-06-15T08:25:24.8339841Z             },
2026-06-15T08:25:24.8339942Z             {
2026-06-15T08:25:24.8340081Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-15T08:25:24.8340180Z               "line": 77
2026-06-15T08:25:24.8340281Z             }
2026-06-15T08:25:24.8340386Z           ]
2026-06-15T08:25:24.8340485Z         }
2026-06-15T08:25:24.8340582Z       }
2026-06-15T08:25:24.8340681Z     },
2026-06-15T08:25:24.8340785Z     {
2026-06-15T08:25:24.8340887Z       "id": "REQ-TERM-3",
2026-06-15T08:25:24.8341039Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-15T08:25:24.8341154Z       "requiredStages": [
2026-06-15T08:25:24.8341254Z         "impl",
2026-06-15T08:25:24.8341357Z         "unit"
2026-06-15T08:25:24.8341449Z       ],
2026-06-15T08:25:24.8341550Z       "stages": {
2026-06-15T08:25:24.8341654Z         "doc": {
2026-06-15T08:25:24.8341862Z           "complete": false,
2026-06-15T08:25:24.8341962Z           "evidence": []
2026-06-15T08:25:24.8342061Z         },
2026-06-15T08:25:24.8342156Z         "impl": {
2026-06-15T08:25:24.8342272Z           "complete": true,
2026-06-15T08:25:24.8342365Z           "evidence": [
2026-06-15T08:25:24.8342466Z             {
2026-06-15T08:25:24.8342689Z               "path": "crates/spt-term/src/stream.rs",
2026-06-15T08:25:24.8342800Z               "line": 71
2026-06-15T08:25:24.8342900Z             }
2026-06-15T08:25:24.8342999Z           ]
2026-06-15T08:25:24.8343101Z         },
2026-06-15T08:25:24.8343205Z         "int": {
2026-06-15T08:25:24.8343310Z           "complete": false,
2026-06-15T08:25:24.8343415Z           "evidence": []
2026-06-15T08:25:24.8343516Z         },
2026-06-15T08:25:24.8343620Z         "unit": {
2026-06-15T08:25:24.8343730Z           "complete": true,
2026-06-15T08:25:24.8343831Z           "evidence": [
2026-06-15T08:25:24.8343930Z             {
2026-06-15T08:25:24.8344065Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-15T08:25:24.8344164Z               "line": 37
2026-06-15T08:25:24.8344268Z             },
2026-06-15T08:25:24.8344374Z             {
2026-06-15T08:25:24.8344507Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-15T08:25:24.8344606Z               "line": 67
2026-06-15T08:25:24.8344715Z             }
2026-06-15T08:25:24.8344815Z           ]
2026-06-15T08:25:24.8344918Z         }
2026-06-15T08:25:24.8345023Z       }
2026-06-15T08:25:24.8345124Z     },
2026-06-15T08:25:24.8345223Z     {
2026-06-15T08:25:24.8345333Z       "id": "REQ-TERM-4",
2026-06-15T08:25:24.8345829Z       "title": "Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt endpoint digest) + structured-delta-stream contract + api digest-entry push",
2026-06-15T08:25:24.8345938Z       "requiredStages": [
2026-06-15T08:25:24.8346040Z         "impl",
2026-06-15T08:25:24.8346144Z         "unit",
2026-06-15T08:25:24.8346244Z         "int"
2026-06-15T08:25:24.8346350Z       ],
2026-06-15T08:25:24.8346449Z       "stages": {
2026-06-15T08:25:24.8346554Z         "doc": {
2026-06-15T08:25:24.8346669Z           "complete": false,
2026-06-15T08:25:24.8346777Z           "evidence": []
2026-06-15T08:25:24.8346878Z         },
2026-06-15T08:25:24.8346980Z         "impl": {
2026-06-15T08:25:24.8347097Z           "complete": true,
2026-06-15T08:25:24.8347205Z           "evidence": [
2026-06-15T08:25:24.8347306Z             {
2026-06-15T08:25:24.8347442Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8347546Z               "line": 37
2026-06-15T08:25:24.8347647Z             },
2026-06-15T08:25:24.8347747Z             {
2026-06-15T08:25:24.8347890Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8347996Z               "line": 25
2026-06-15T08:25:24.8348100Z             },
2026-06-15T08:25:24.8348200Z             {
2026-06-15T08:25:24.8348339Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8348443Z               "line": 114
2026-06-15T08:25:24.8348544Z             },
2026-06-15T08:25:24.8348649Z             {
2026-06-15T08:25:24.8348772Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8348878Z               "line": 267
2026-06-15T08:25:24.8349059Z             },
2026-06-15T08:25:24.8349154Z             {
2026-06-15T08:25:24.8349287Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8349392Z               "line": 289
2026-06-15T08:25:24.8349498Z             },
2026-06-15T08:25:24.8349598Z             {
2026-06-15T08:25:24.8349726Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8349832Z               "line": 307
2026-06-15T08:25:24.8349927Z             },
2026-06-15T08:25:24.8350030Z             {
2026-06-15T08:25:24.8350154Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.8350255Z               "line": 33
2026-06-15T08:25:24.8350364Z             },
2026-06-15T08:25:24.8350556Z             {
2026-06-15T08:25:24.8350697Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8350799Z               "line": 52
2026-06-15T08:25:24.8350908Z             },
2026-06-15T08:25:24.8351008Z             {
2026-06-15T08:25:24.8351142Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8351355Z               "line": 180
2026-06-15T08:25:24.8351457Z             },
2026-06-15T08:25:24.8351556Z             {
2026-06-15T08:25:24.8351684Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8351781Z               "line": 190
2026-06-15T08:25:24.8351890Z             },
2026-06-15T08:25:24.8351994Z             {
2026-06-15T08:25:24.8352139Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8352242Z               "line": 250
2026-06-15T08:25:24.8352346Z             },
2026-06-15T08:25:24.8352446Z             {
2026-06-15T08:25:24.8352587Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8352712Z               "line": 280
2026-06-15T08:25:24.8352812Z             },
2026-06-15T08:25:24.8352916Z             {
2026-06-15T08:25:24.8353041Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8353145Z               "line": 291
2026-06-15T08:25:24.8353245Z             },
2026-06-15T08:25:24.8353356Z             {
2026-06-15T08:25:24.8353479Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8353588Z               "line": 1086
2026-06-15T08:25:24.8353694Z             }
2026-06-15T08:25:24.8353794Z           ]
2026-06-15T08:25:24.8353903Z         },
2026-06-15T08:25:24.8354004Z         "int": {
2026-06-15T08:25:24.8354122Z           "complete": true,
2026-06-15T08:25:24.8354232Z           "evidence": [
2026-06-15T08:25:24.8354329Z             {
2026-06-15T08:25:24.8354470Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-15T08:25:24.8354571Z               "line": 18
2026-06-15T08:25:24.8354677Z             }
2026-06-15T08:25:24.8354785Z           ]
2026-06-15T08:25:24.8354886Z         },
2026-06-15T08:25:24.8354982Z         "unit": {
2026-06-15T08:25:24.8355091Z           "complete": true,
2026-06-15T08:25:24.8355204Z           "evidence": [
2026-06-15T08:25:24.8355304Z             {
2026-06-15T08:25:24.8355445Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8355549Z               "line": 349
2026-06-15T08:25:24.8355660Z             },
2026-06-15T08:25:24.8355760Z             {
2026-06-15T08:25:24.8355893Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8355994Z               "line": 401
2026-06-15T08:25:24.8356098Z             },
2026-06-15T08:25:24.8356223Z             {
2026-06-15T08:25:24.8356380Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8356484Z               "line": 411
2026-06-15T08:25:24.8356590Z             },
2026-06-15T08:25:24.8356689Z             {
2026-06-15T08:25:24.8356832Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8356948Z               "line": 436
2026-06-15T08:25:24.8357052Z             },
2026-06-15T08:25:24.8357157Z             {
2026-06-15T08:25:24.8357300Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8357409Z               "line": 456
2026-06-15T08:25:24.8357515Z             },
2026-06-15T08:25:24.8357619Z             {
2026-06-15T08:25:24.8357756Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8357871Z               "line": 478
2026-06-15T08:25:24.8357978Z             },
2026-06-15T08:25:24.8358083Z             {
2026-06-15T08:25:24.8358227Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8358331Z               "line": 491
2026-06-15T08:25:24.8358436Z             },
2026-06-15T08:25:24.8358537Z             {
2026-06-15T08:25:24.8358669Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-15T08:25:24.8358770Z               "line": 502
2026-06-15T08:25:24.8359013Z             },
2026-06-15T08:25:24.8359114Z             {
2026-06-15T08:25:24.8359242Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.8359347Z               "line": 108
2026-06-15T08:25:24.8359448Z             },
2026-06-15T08:25:24.8359547Z             {
2026-06-15T08:25:24.8359690Z               "path": "crates/spt-term/src/digest.rs",
2026-06-15T08:25:24.8359895Z               "line": 119
2026-06-15T08:25:24.8360000Z             },
2026-06-15T08:25:24.8360102Z             {
2026-06-15T08:25:24.8360233Z               "path": "crates/spt-term/src/digest.rs",
2026-06-15T08:25:24.8360339Z               "line": 127
2026-06-15T08:25:24.8360445Z             },
2026-06-15T08:25:24.8360552Z             {
2026-06-15T08:25:24.8360690Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8360806Z               "line": 474
2026-06-15T08:25:24.8360910Z             },
2026-06-15T08:25:24.8361010Z             {
2026-06-15T08:25:24.8361154Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8361267Z               "line": 501
2026-06-15T08:25:24.8361364Z             },
2026-06-15T08:25:24.8361463Z             {
2026-06-15T08:25:24.8361601Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8361707Z               "line": 520
2026-06-15T08:25:24.8361811Z             },
2026-06-15T08:25:24.8361911Z             {
2026-06-15T08:25:24.8362055Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8362164Z               "line": 535
2026-06-15T08:25:24.8362269Z             },
2026-06-15T08:25:24.8362370Z             {
2026-06-15T08:25:24.8362507Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8362613Z               "line": 561
2026-06-15T08:25:24.8362713Z             },
2026-06-15T08:25:24.8362812Z             {
2026-06-15T08:25:24.8362949Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8363058Z               "line": 581
2026-06-15T08:25:24.8363161Z             },
2026-06-15T08:25:24.8363262Z             {
2026-06-15T08:25:24.8363406Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8363509Z               "line": 591
2026-06-15T08:25:24.8363611Z             },
2026-06-15T08:25:24.8363715Z             {
2026-06-15T08:25:24.8363857Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8363968Z               "line": 683
2026-06-15T08:25:24.8364063Z             },
2026-06-15T08:25:24.8364167Z             {
2026-06-15T08:25:24.8364293Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8364402Z               "line": 759
2026-06-15T08:25:24.8364502Z             },
2026-06-15T08:25:24.8364607Z             {
2026-06-15T08:25:24.8364731Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8364836Z               "line": 8048
2026-06-15T08:25:24.8364937Z             }
2026-06-15T08:25:24.8365040Z           ]
2026-06-15T08:25:24.8365146Z         }
2026-06-15T08:25:24.8365246Z       }
2026-06-15T08:25:24.8365345Z     },
2026-06-15T08:25:24.8365446Z     {
2026-06-15T08:25:24.8365566Z       "id": "REQ-TERM-5",
2026-06-15T08:25:24.8367078Z       "title": "Adapter-declared digest extractor seam: a `[digest]` manifest section declaring an imperative extractor (native harness log -> the {role,text,tool,ts} contract; defaults to the [history] source files with an own-source escape hatch), `api digest-entry` push fallback, register-time validation of the section, adapter-declared presentation defaults (window depth, arg-truncation, sprint-collapse) that any consumer may override, and a `spt adapter digest-proof` author tool plus runtime skip-diagnostics (no silent drop). Reverses M9's no-manifest-seam stance; no declarative DSL.",
2026-06-15T08:25:24.8367207Z       "requiredStages": [
2026-06-15T08:25:24.8367307Z         "doc",
2026-06-15T08:25:24.8367417Z         "impl",
2026-06-15T08:25:24.8367513Z         "unit",
2026-06-15T08:25:24.8367617Z         "int"
2026-06-15T08:25:24.8367823Z       ],
2026-06-15T08:25:24.8367946Z       "stages": {
2026-06-15T08:25:24.8368057Z         "doc": {
2026-06-15T08:25:24.8368166Z           "complete": true,
2026-06-15T08:25:24.8368279Z           "evidence": [
2026-06-15T08:25:24.8368374Z             {
2026-06-15T08:25:24.8368497Z               "path": "docs/MANIFEST.md",
2026-06-15T08:25:24.8368681Z               "line": 156
2026-06-15T08:25:24.8368777Z             }
2026-06-15T08:25:24.8368877Z           ]
2026-06-15T08:25:24.8369054Z         },
2026-06-15T08:25:24.8369159Z         "impl": {
2026-06-15T08:25:24.8369268Z           "complete": true,
2026-06-15T08:25:24.8369369Z           "evidence": [
2026-06-15T08:25:24.8369473Z             {
2026-06-15T08:25:24.8369611Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8369717Z               "line": 75
2026-06-15T08:25:24.8369816Z             },
2026-06-15T08:25:24.8369916Z             {
2026-06-15T08:25:24.8370056Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8370165Z               "line": 131
2026-06-15T08:25:24.8370260Z             },
2026-06-15T08:25:24.8370361Z             {
2026-06-15T08:25:24.8370494Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8370599Z               "line": 22
2026-06-15T08:25:24.8370695Z             },
2026-06-15T08:25:24.8370803Z             {
2026-06-15T08:25:24.8370938Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8371052Z               "line": 81
2026-06-15T08:25:24.8371151Z             },
2026-06-15T08:25:24.8371274Z             {
2026-06-15T08:25:24.8371436Z               "path": "crates/spt-term/src/digest.rs",
2026-06-15T08:25:24.8371541Z               "line": 30
2026-06-15T08:25:24.8371642Z             },
2026-06-15T08:25:24.8371751Z             {
2026-06-15T08:25:24.8371890Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8371990Z               "line": 103
2026-06-15T08:25:24.8372094Z             },
2026-06-15T08:25:24.8372200Z             {
2026-06-15T08:25:24.8372343Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8372452Z               "line": 167
2026-06-15T08:25:24.8372558Z             },
2026-06-15T08:25:24.8372662Z             {
2026-06-15T08:25:24.8372796Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8372902Z               "line": 434
2026-06-15T08:25:24.8373000Z             },
2026-06-15T08:25:24.8373101Z             {
2026-06-15T08:25:24.8373226Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8373334Z               "line": 5070
2026-06-15T08:25:24.8373438Z             },
2026-06-15T08:25:24.8373543Z             {
2026-06-15T08:25:24.8373660Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8373764Z               "line": 5104
2026-06-15T08:25:24.8373870Z             }
2026-06-15T08:25:24.8373971Z           ]
2026-06-15T08:25:24.8374069Z         },
2026-06-15T08:25:24.8374175Z         "int": {
2026-06-15T08:25:24.8374285Z           "complete": true,
2026-06-15T08:25:24.8374393Z           "evidence": [
2026-06-15T08:25:24.8374495Z             {
2026-06-15T08:25:24.8374671Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-15T08:25:24.8374776Z               "line": 17
2026-06-15T08:25:24.8374876Z             }
2026-06-15T08:25:24.8374981Z           ]
2026-06-15T08:25:24.8375081Z         },
2026-06-15T08:25:24.8375186Z         "unit": {
2026-06-15T08:25:24.8375300Z           "complete": true,
2026-06-15T08:25:24.8375410Z           "evidence": [
2026-06-15T08:25:24.8375515Z             {
2026-06-15T08:25:24.8375648Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8375750Z               "line": 360
2026-06-15T08:25:24.8375854Z             },
2026-06-15T08:25:24.8375954Z             {
2026-06-15T08:25:24.8376089Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8376206Z               "line": 153
2026-06-15T08:25:24.8376406Z             },
2026-06-15T08:25:24.8376514Z             {
2026-06-15T08:25:24.8376646Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8376746Z               "line": 169
2026-06-15T08:25:24.8376852Z             },
2026-06-15T08:25:24.8376951Z             {
2026-06-15T08:25:24.8377086Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8377289Z               "line": 191
2026-06-15T08:25:24.8377391Z             },
2026-06-15T08:25:24.8377496Z             {
2026-06-15T08:25:24.8377629Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8377734Z               "line": 202
2026-06-15T08:25:24.8377839Z             },
2026-06-15T08:25:24.8377939Z             {
2026-06-15T08:25:24.8378063Z               "path": "crates/spt-live/src/digest.rs",
2026-06-15T08:25:24.8378172Z               "line": 213
2026-06-15T08:25:24.8378277Z             },
2026-06-15T08:25:24.8378378Z             {
2026-06-15T08:25:24.8378520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.8378631Z               "line": 1064
2026-06-15T08:25:24.8378740Z             },
2026-06-15T08:25:24.8378839Z             {
2026-06-15T08:25:24.8379048Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.8379160Z               "line": 1107
2026-06-15T08:25:24.8379261Z             },
2026-06-15T08:25:24.8379366Z             {
2026-06-15T08:25:24.8379508Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8379614Z               "line": 606
2026-06-15T08:25:24.8379724Z             },
2026-06-15T08:25:24.8379818Z             {
2026-06-15T08:25:24.8379953Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8380062Z               "line": 634
2026-06-15T08:25:24.8380161Z             },
2026-06-15T08:25:24.8380263Z             {
2026-06-15T08:25:24.8380396Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8380500Z               "line": 646
2026-06-15T08:25:24.8380602Z             },
2026-06-15T08:25:24.8380706Z             {
2026-06-15T08:25:24.8380829Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8380936Z               "line": 669
2026-06-15T08:25:24.8381044Z             },
2026-06-15T08:25:24.8381144Z             {
2026-06-15T08:25:24.8381265Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8381368Z               "line": 6872
2026-06-15T08:25:24.8381484Z             }
2026-06-15T08:25:24.8381580Z           ]
2026-06-15T08:25:24.8381687Z         }
2026-06-15T08:25:24.8381781Z       }
2026-06-15T08:25:24.8381883Z     },
2026-06-15T08:25:24.8381992Z     {
2026-06-15T08:25:24.8382092Z       "id": "REQ-TERM-6",
2026-06-15T08:25:24.8383189Z       "title": "Thread-spanning digest across session boundaries: a per-endpoint session ledger (`<perch>/sessions.log`) appended at first bind and by `api boundary` on `/clear`|`/compact` session rotation, the digest enumerating the last K sessions so its rolling window bridges a boundary, and a distinctive in-timeline boundary marker (DigestEntry::Boundary). The digest follows the live-agent thread, not a single session.",
2026-06-15T08:25:24.8383294Z       "requiredStages": [
2026-06-15T08:25:24.8383394Z         "impl",
2026-06-15T08:25:24.8383504Z         "unit",
2026-06-15T08:25:24.8383608Z         "int"
2026-06-15T08:25:24.8383713Z       ],
2026-06-15T08:25:24.8383819Z       "stages": {
2026-06-15T08:25:24.8383918Z         "doc": {
2026-06-15T08:25:24.8384031Z           "complete": false,
2026-06-15T08:25:24.8384136Z           "evidence": []
2026-06-15T08:25:24.8384239Z         },
2026-06-15T08:25:24.8384343Z         "impl": {
2026-06-15T08:25:24.8384459Z           "complete": true,
2026-06-15T08:25:24.8384563Z           "evidence": [
2026-06-15T08:25:24.8384668Z             {
2026-06-15T08:25:24.8384807Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8384911Z               "line": 132
2026-06-15T08:25:24.8385016Z             },
2026-06-15T08:25:24.8385235Z             {
2026-06-15T08:25:24.8385375Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8385479Z               "line": 176
2026-06-15T08:25:24.8385584Z             },
2026-06-15T08:25:24.8385680Z             {
2026-06-15T08:25:24.8385808Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8386014Z               "line": 17
2026-06-15T08:25:24.8386103Z             },
2026-06-15T08:25:24.8386213Z             {
2026-06-15T08:25:24.8386343Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8386446Z               "line": 96
2026-06-15T08:25:24.8386552Z             },
2026-06-15T08:25:24.8386658Z             {
2026-06-15T08:25:24.8386795Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8386898Z               "line": 319
2026-06-15T08:25:24.8386999Z             },
2026-06-15T08:25:24.8387102Z             {
2026-06-15T08:25:24.8387240Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8387341Z               "line": 396
2026-06-15T08:25:24.8387440Z             }
2026-06-15T08:25:24.8387545Z           ]
2026-06-15T08:25:24.8387631Z         },
2026-06-15T08:25:24.8387736Z         "int": {
2026-06-15T08:25:24.8387840Z           "complete": true,
2026-06-15T08:25:24.8387941Z           "evidence": [
2026-06-15T08:25:24.8388046Z             {
2026-06-15T08:25:24.8388203Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-15T08:25:24.8388318Z               "line": 18
2026-06-15T08:25:24.8388418Z             }
2026-06-15T08:25:24.8388523Z           ]
2026-06-15T08:25:24.8388628Z         },
2026-06-15T08:25:24.8388732Z         "unit": {
2026-06-15T08:25:24.8388842Z           "complete": true,
2026-06-15T08:25:24.8389023Z           "evidence": [
2026-06-15T08:25:24.8389123Z             {
2026-06-15T08:25:24.8389258Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8389380Z               "line": 126
2026-06-15T08:25:24.8389484Z             },
2026-06-15T08:25:24.8389589Z             {
2026-06-15T08:25:24.8389730Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8389840Z               "line": 141
2026-06-15T08:25:24.8389941Z             },
2026-06-15T08:25:24.8390044Z             {
2026-06-15T08:25:24.8390179Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8390289Z               "line": 157
2026-06-15T08:25:24.8390392Z             },
2026-06-15T08:25:24.8390499Z             {
2026-06-15T08:25:24.8390622Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-15T08:25:24.8390736Z               "line": 175
2026-06-15T08:25:24.8390828Z             },
2026-06-15T08:25:24.8390931Z             {
2026-06-15T08:25:24.8391075Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8391181Z               "line": 738
2026-06-15T08:25:24.8393863Z             },
2026-06-15T08:25:24.8393993Z             {
2026-06-15T08:25:24.8394144Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8394250Z               "line": 759
2026-06-15T08:25:24.8394361Z             },
2026-06-15T08:25:24.8394463Z             {
2026-06-15T08:25:24.8394601Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-15T08:25:24.8394711Z               "line": 602
2026-06-15T08:25:24.8394809Z             }
2026-06-15T08:25:24.8394913Z           ]
2026-06-15T08:25:24.8395010Z         }
2026-06-15T08:25:24.8395114Z       }
2026-06-15T08:25:24.8395218Z     },
2026-06-15T08:25:24.8395320Z     {
2026-06-15T08:25:24.8395424Z       "id": "REQ-TERM-7",
2026-06-15T08:25:24.8396574Z       "title": "Two-origin digest merge: spt-owned context-injection entries (psyche_download | echo_mirror | owl_message) appended by spt to the endpoint `digest.log`, timestamp-interleaved with the adapter's extracted activity records into one ordered timeline, via a distinct context-injection record category. Data model only this milestone; GUI collapse/expand and the echo-reads-digest delta loop are deferred to the surfaces that consume them.",
2026-06-15T08:25:24.8396836Z       "requiredStages": [
2026-06-15T08:25:24.8396950Z         "impl",
2026-06-15T08:25:24.8397045Z         "unit",
2026-06-15T08:25:24.8397151Z         "int"
2026-06-15T08:25:24.8397251Z       ],
2026-06-15T08:25:24.8397359Z       "stages": {
2026-06-15T08:25:24.8397564Z         "doc": {
2026-06-15T08:25:24.8397671Z           "complete": false,
2026-06-15T08:25:24.8397785Z           "evidence": []
2026-06-15T08:25:24.8397881Z         },
2026-06-15T08:25:24.8397981Z         "impl": {
2026-06-15T08:25:24.8398090Z           "complete": true,
2026-06-15T08:25:24.8398196Z           "evidence": [
2026-06-15T08:25:24.8398296Z             {
2026-06-15T08:25:24.8398439Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8398549Z               "line": 133
2026-06-15T08:25:24.8398644Z             },
2026-06-15T08:25:24.8398749Z             {
2026-06-15T08:25:24.8398892Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8399155Z               "line": 311
2026-06-15T08:25:24.8399254Z             },
2026-06-15T08:25:24.8399354Z             {
2026-06-15T08:25:24.8399498Z               "path": "crates/spt-live/src/inject.rs",
2026-06-15T08:25:24.8399602Z               "line": 15
2026-06-15T08:25:24.8399708Z             },
2026-06-15T08:25:24.8399808Z             {
2026-06-15T08:25:24.8399935Z               "path": "crates/spt-live/src/inject.rs",
2026-06-15T08:25:24.8400040Z               "line": 32
2026-06-15T08:25:24.8400140Z             },
2026-06-15T08:25:24.8400238Z             {
2026-06-15T08:25:24.8400376Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.8400477Z               "line": 49
2026-06-15T08:25:24.8400582Z             },
2026-06-15T08:25:24.8400681Z             {
2026-06-15T08:25:24.8400825Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8400934Z               "line": 286
2026-06-15T08:25:24.8401049Z             },
2026-06-15T08:25:24.8401149Z             {
2026-06-15T08:25:24.8401286Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8401388Z               "line": 320
2026-06-15T08:25:24.8401496Z             }
2026-06-15T08:25:24.8401596Z           ]
2026-06-15T08:25:24.8401689Z         },
2026-06-15T08:25:24.8401797Z         "int": {
2026-06-15T08:25:24.8401902Z           "complete": true,
2026-06-15T08:25:24.8402004Z           "evidence": [
2026-06-15T08:25:24.8402102Z             {
2026-06-15T08:25:24.8402275Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-15T08:25:24.8402380Z               "line": 19
2026-06-15T08:25:24.8402478Z             }
2026-06-15T08:25:24.8402580Z           ]
2026-06-15T08:25:24.8402680Z         },
2026-06-15T08:25:24.8402788Z         "unit": {
2026-06-15T08:25:24.8402897Z           "complete": true,
2026-06-15T08:25:24.8403003Z           "evidence": [
2026-06-15T08:25:24.8403108Z             {
2026-06-15T08:25:24.8403245Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8403351Z               "line": 440
2026-06-15T08:25:24.8403451Z             },
2026-06-15T08:25:24.8403555Z             {
2026-06-15T08:25:24.8403685Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-15T08:25:24.8403789Z               "line": 551
2026-06-15T08:25:24.8403904Z             },
2026-06-15T08:25:24.8404004Z             {
2026-06-15T08:25:24.8404146Z               "path": "crates/spt-live/src/inject.rs",
2026-06-15T08:25:24.8404252Z               "line": 58
2026-06-15T08:25:24.8404361Z             },
2026-06-15T08:25:24.8404461Z             {
2026-06-15T08:25:24.8404591Z               "path": "crates/spt-live/src/inject.rs",
2026-06-15T08:25:24.8404695Z               "line": 77
2026-06-15T08:25:24.8404795Z             },
2026-06-15T08:25:24.8404902Z             {
2026-06-15T08:25:24.8405028Z               "path": "crates/spt-live/src/inject.rs",
2026-06-15T08:25:24.8405142Z               "line": 87
2026-06-15T08:25:24.8405336Z             },
2026-06-15T08:25:24.8405440Z             {
2026-06-15T08:25:24.8405579Z               "path": "crates/spt-store/src/history.rs",
2026-06-15T08:25:24.8405683Z               "line": 94
2026-06-15T08:25:24.8405783Z             },
2026-06-15T08:25:24.8405890Z             {
2026-06-15T08:25:24.8406117Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8406214Z               "line": 691
2026-06-15T08:25:24.8406323Z             },
2026-06-15T08:25:24.8406422Z             {
2026-06-15T08:25:24.8406552Z               "path": "crates/spt-term/src/projection.rs",
2026-06-15T08:25:24.8406656Z               "line": 716
2026-06-15T08:25:24.8406756Z             }
2026-06-15T08:25:24.8406862Z           ]
2026-06-15T08:25:24.8406962Z         }
2026-06-15T08:25:24.8407061Z       }
2026-06-15T08:25:24.8407168Z     },
2026-06-15T08:25:24.8407266Z     {
2026-06-15T08:25:24.8407381Z       "id": "REQ-UPD-1",
2026-06-15T08:25:24.8407506Z       "title": "Peer-propagated update over P2P",
2026-06-15T08:25:24.8407615Z       "requiredStages": [
2026-06-15T08:25:24.8407716Z         "impl",
2026-06-15T08:25:24.8407826Z         "unit",
2026-06-15T08:25:24.8407924Z         "int"
2026-06-15T08:25:24.8408023Z       ],
2026-06-15T08:25:24.8408124Z       "stages": {
2026-06-15T08:25:24.8408226Z         "doc": {
2026-06-15T08:25:24.8408340Z           "complete": false,
2026-06-15T08:25:24.8408451Z           "evidence": []
2026-06-15T08:25:24.8408551Z         },
2026-06-15T08:25:24.8408655Z         "impl": {
2026-06-15T08:25:24.8408761Z           "complete": true,
2026-06-15T08:25:24.8408861Z           "evidence": [
2026-06-15T08:25:24.8409038Z             {
2026-06-15T08:25:24.8409181Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8409275Z               "line": 28
2026-06-15T08:25:24.8409382Z             },
2026-06-15T08:25:24.8409485Z             {
2026-06-15T08:25:24.8409628Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8409734Z               "line": 103
2026-06-15T08:25:24.8409838Z             },
2026-06-15T08:25:24.8409938Z             {
2026-06-15T08:25:24.8410068Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8410172Z               "line": 342
2026-06-15T08:25:24.8410273Z             },
2026-06-15T08:25:24.8410378Z             {
2026-06-15T08:25:24.8410524Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8410619Z               "line": 22
2026-06-15T08:25:24.8410723Z             },
2026-06-15T08:25:24.8410827Z             {
2026-06-15T08:25:24.8410955Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8411056Z               "line": 207
2026-06-15T08:25:24.8411160Z             },
2026-06-15T08:25:24.8411265Z             {
2026-06-15T08:25:24.8411390Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8411494Z               "line": 283
2026-06-15T08:25:24.8411595Z             },
2026-06-15T08:25:24.8411700Z             {
2026-06-15T08:25:24.8411837Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8411934Z               "line": 340
2026-06-15T08:25:24.8412028Z             },
2026-06-15T08:25:24.8412128Z             {
2026-06-15T08:25:24.8412268Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8412372Z               "line": 37
2026-06-15T08:25:24.8412471Z             }
2026-06-15T08:25:24.8412573Z           ]
2026-06-15T08:25:24.8412677Z         },
2026-06-15T08:25:24.8412786Z         "int": {
2026-06-15T08:25:24.8412888Z           "complete": true,
2026-06-15T08:25:24.8413001Z           "evidence": [
2026-06-15T08:25:24.8413101Z             {
2026-06-15T08:25:24.8413240Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-15T08:25:24.8413339Z               "line": 207
2026-06-15T08:25:24.8413438Z             },
2026-06-15T08:25:24.8413544Z             {
2026-06-15T08:25:24.8413682Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-15T08:25:24.8413888Z               "line": 988
2026-06-15T08:25:24.8413992Z             }
2026-06-15T08:25:24.8414082Z           ]
2026-06-15T08:25:24.8414178Z         },
2026-06-15T08:25:24.8414283Z         "unit": {
2026-06-15T08:25:24.8414387Z           "complete": true,
2026-06-15T08:25:24.8414593Z           "evidence": [
2026-06-15T08:25:24.8414692Z             {
2026-06-15T08:25:24.8414842Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8414945Z               "line": 490
2026-06-15T08:25:24.8415050Z             },
2026-06-15T08:25:24.8415147Z             {
2026-06-15T08:25:24.8415293Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8415394Z               "line": 616
2026-06-15T08:25:24.8415495Z             },
2026-06-15T08:25:24.8415598Z             {
2026-06-15T08:25:24.8415741Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.8415850Z               "line": 277
2026-06-15T08:25:24.8415948Z             },
2026-06-15T08:25:24.8416053Z             {
2026-06-15T08:25:24.8416188Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8416296Z               "line": 124
2026-06-15T08:25:24.8416397Z             },
2026-06-15T08:25:24.8416501Z             {
2026-06-15T08:25:24.8416625Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8416736Z               "line": 200
2026-06-15T08:25:24.8416835Z             }
2026-06-15T08:25:24.8416935Z           ]
2026-06-15T08:25:24.8417036Z         }
2026-06-15T08:25:24.8417140Z       }
2026-06-15T08:25:24.8417235Z     },
2026-06-15T08:25:24.8417341Z     {
2026-06-15T08:25:24.8417446Z       "id": "REQ-UPD-2",
2026-06-15T08:25:24.8417612Z       "title": "All binaries signature-verified before handoff",
2026-06-15T08:25:24.8417723Z       "requiredStages": [
2026-06-15T08:25:24.8417826Z         "impl",
2026-06-15T08:25:24.8417932Z         "unit"
2026-06-15T08:25:24.8418029Z       ],
2026-06-15T08:25:24.8418136Z       "stages": {
2026-06-15T08:25:24.8418227Z         "doc": {
2026-06-15T08:25:24.8418343Z           "complete": false,
2026-06-15T08:25:24.8418446Z           "evidence": []
2026-06-15T08:25:24.8418551Z         },
2026-06-15T08:25:24.8418660Z         "impl": {
2026-06-15T08:25:24.8418759Z           "complete": true,
2026-06-15T08:25:24.8418868Z           "evidence": [
2026-06-15T08:25:24.8419040Z             {
2026-06-15T08:25:24.8419177Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8419278Z               "line": 343
2026-06-15T08:25:24.8419378Z             },
2026-06-15T08:25:24.8419482Z             {
2026-06-15T08:25:24.8419613Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8419717Z               "line": 476
2026-06-15T08:25:24.8419811Z             },
2026-06-15T08:25:24.8419917Z             {
2026-06-15T08:25:24.8420050Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8420155Z               "line": 29
2026-06-15T08:25:24.8420252Z             },
2026-06-15T08:25:24.8420355Z             {
2026-06-15T08:25:24.8420489Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8420590Z               "line": 271
2026-06-15T08:25:24.8420689Z             },
2026-06-15T08:25:24.8420790Z             {
2026-06-15T08:25:24.8420920Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8421022Z               "line": 288
2026-06-15T08:25:24.8421121Z             },
2026-06-15T08:25:24.8421227Z             {
2026-06-15T08:25:24.8421358Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8421467Z               "line": 408
2026-06-15T08:25:24.8421573Z             },
2026-06-15T08:25:24.8421673Z             {
2026-06-15T08:25:24.8421807Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8421907Z               "line": 540
2026-06-15T08:25:24.8422007Z             },
2026-06-15T08:25:24.8422106Z             {
2026-06-15T08:25:24.8422354Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8422460Z               "line": 155
2026-06-15T08:25:24.8422560Z             }
2026-06-15T08:25:24.8422665Z           ]
2026-06-15T08:25:24.8422760Z         },
2026-06-15T08:25:24.8422861Z         "int": {
2026-06-15T08:25:24.8422960Z           "complete": false,
2026-06-15T08:25:24.8423166Z           "evidence": []
2026-06-15T08:25:24.8423270Z         },
2026-06-15T08:25:24.8423370Z         "unit": {
2026-06-15T08:25:24.8423472Z           "complete": true,
2026-06-15T08:25:24.8423575Z           "evidence": [
2026-06-15T08:25:24.8423685Z             {
2026-06-15T08:25:24.8423805Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8423918Z               "line": 697
2026-06-15T08:25:24.8424022Z             },
2026-06-15T08:25:24.8424123Z             {
2026-06-15T08:25:24.8424247Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8424342Z               "line": 758
2026-06-15T08:25:24.8424448Z             },
2026-06-15T08:25:24.8424548Z             {
2026-06-15T08:25:24.8424685Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8424786Z               "line": 772
2026-06-15T08:25:24.8424886Z             },
2026-06-15T08:25:24.8424986Z             {
2026-06-15T08:25:24.8425125Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8425229Z               "line": 788
2026-06-15T08:25:24.8425325Z             },
2026-06-15T08:25:24.8425420Z             {
2026-06-15T08:25:24.8425558Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8425659Z               "line": 879
2026-06-15T08:25:24.8425759Z             },
2026-06-15T08:25:24.8425848Z             {
2026-06-15T08:25:24.8425988Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8426093Z               "line": 414
2026-06-15T08:25:24.8426196Z             },
2026-06-15T08:25:24.8426291Z             {
2026-06-15T08:25:24.8426410Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8426508Z               "line": 427
2026-06-15T08:25:24.8426608Z             },
2026-06-15T08:25:24.8426709Z             {
2026-06-15T08:25:24.8426846Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.8426952Z               "line": 410
2026-06-15T08:25:24.8427052Z             }
2026-06-15T08:25:24.8427152Z           ]
2026-06-15T08:25:24.8427252Z         }
2026-06-15T08:25:24.8427353Z       }
2026-06-15T08:25:24.8427452Z     },
2026-06-15T08:25:24.8427552Z     {
2026-06-15T08:25:24.8427672Z       "id": "REQ-UPD-3",
2026-06-15T08:25:24.8427867Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-15T08:25:24.8427973Z       "requiredStages": [
2026-06-15T08:25:24.8428068Z         "impl",
2026-06-15T08:25:24.8428167Z         "unit",
2026-06-15T08:25:24.8428264Z         "int"
2026-06-15T08:25:24.8428358Z       ],
2026-06-15T08:25:24.8428468Z       "stages": {
2026-06-15T08:25:24.8428565Z         "doc": {
2026-06-15T08:25:24.8428669Z           "complete": false,
2026-06-15T08:25:24.8428778Z           "evidence": []
2026-06-15T08:25:24.8428879Z         },
2026-06-15T08:25:24.8429077Z         "impl": {
2026-06-15T08:25:24.8429182Z           "complete": true,
2026-06-15T08:25:24.8429282Z           "evidence": [
2026-06-15T08:25:24.8429385Z             {
2026-06-15T08:25:24.8429519Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8429619Z               "line": 40
2026-06-15T08:25:24.8429718Z             },
2026-06-15T08:25:24.8429819Z             {
2026-06-15T08:25:24.8429958Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8430062Z               "line": 87
2026-06-15T08:25:24.8430168Z             },
2026-06-15T08:25:24.8430267Z             {
2026-06-15T08:25:24.8430400Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-15T08:25:24.8430506Z               "line": 993
2026-06-15T08:25:24.8430715Z             },
2026-06-15T08:25:24.8430802Z             {
2026-06-15T08:25:24.8430944Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-15T08:25:24.8431040Z               "line": 1085
2026-06-15T08:25:24.8431141Z             },
2026-06-15T08:25:24.8431244Z             {
2026-06-15T08:25:24.8431378Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8431582Z               "line": 26
2026-06-15T08:25:24.8431691Z             },
2026-06-15T08:25:24.8431792Z             {
2026-06-15T08:25:24.8431918Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8432018Z               "line": 114
2026-06-15T08:25:24.8432124Z             },
2026-06-15T08:25:24.8432224Z             {
2026-06-15T08:25:24.8432362Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8432472Z               "line": 246
2026-06-15T08:25:24.8432576Z             },
2026-06-15T08:25:24.8432676Z             {
2026-06-15T08:25:24.8432801Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8432914Z               "line": 2178
2026-06-15T08:25:24.8433001Z             }
2026-06-15T08:25:24.8433106Z           ]
2026-06-15T08:25:24.8433211Z         },
2026-06-15T08:25:24.8433301Z         "int": {
2026-06-15T08:25:24.8433412Z           "complete": true,
2026-06-15T08:25:24.8433516Z           "evidence": [
2026-06-15T08:25:24.8433620Z             {
2026-06-15T08:25:24.8433759Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-15T08:25:24.8433859Z               "line": 58
2026-06-15T08:25:24.8433965Z             }
2026-06-15T08:25:24.8434069Z           ]
2026-06-15T08:25:24.8434169Z         },
2026-06-15T08:25:24.8434270Z         "unit": {
2026-06-15T08:25:24.8434380Z           "complete": true,
2026-06-15T08:25:24.8434468Z           "evidence": [
2026-06-15T08:25:24.8434568Z             {
2026-06-15T08:25:24.8434708Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8434812Z               "line": 532
2026-06-15T08:25:24.8434912Z             },
2026-06-15T08:25:24.8435013Z             {
2026-06-15T08:25:24.8435145Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8435246Z               "line": 583
2026-06-15T08:25:24.8435351Z             },
2026-06-15T08:25:24.8435446Z             {
2026-06-15T08:25:24.8435589Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8435704Z               "line": 651
2026-06-15T08:25:24.8435808Z             },
2026-06-15T08:25:24.8435914Z             {
2026-06-15T08:25:24.8436052Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-15T08:25:24.8436156Z               "line": 1062
2026-06-15T08:25:24.8436253Z             },
2026-06-15T08:25:24.8436347Z             {
2026-06-15T08:25:24.8436480Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8436582Z               "line": 271
2026-06-15T08:25:24.8436680Z             },
2026-06-15T08:25:24.8436780Z             {
2026-06-15T08:25:24.8436927Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8437040Z               "line": 295
2026-06-15T08:25:24.8437140Z             },
2026-06-15T08:25:24.8437245Z             {
2026-06-15T08:25:24.8437379Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8437483Z               "line": 316
2026-06-15T08:25:24.8437584Z             },
2026-06-15T08:25:24.8437689Z             {
2026-06-15T08:25:24.8437827Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8437932Z               "line": 332
2026-06-15T08:25:24.8438032Z             }
2026-06-15T08:25:24.8438137Z           ]
2026-06-15T08:25:24.8438237Z         }
2026-06-15T08:25:24.8438337Z       }
2026-06-15T08:25:24.8438437Z     },
2026-06-15T08:25:24.8438543Z     {
2026-06-15T08:25:24.8438642Z       "id": "REQ-UPD-4",
2026-06-15T08:25:24.8438848Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-15T08:25:24.8439014Z       "requiredStages": [
2026-06-15T08:25:24.8439224Z         "impl",
2026-06-15T08:25:24.8439319Z         "unit"
2026-06-15T08:25:24.8439425Z       ],
2026-06-15T08:25:24.8439539Z       "stages": {
2026-06-15T08:25:24.8439642Z         "doc": {
2026-06-15T08:25:24.8439762Z           "complete": false,
2026-06-15T08:25:24.8439856Z           "evidence": []
2026-06-15T08:25:24.8440050Z         },
2026-06-15T08:25:24.8440146Z         "impl": {
2026-06-15T08:25:24.8440255Z           "complete": true,
2026-06-15T08:25:24.8440359Z           "evidence": [
2026-06-15T08:25:24.8440461Z             {
2026-06-15T08:25:24.8440598Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8440709Z               "line": 41
2026-06-15T08:25:24.8440813Z             },
2026-06-15T08:25:24.8440913Z             {
2026-06-15T08:25:24.8441057Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8441165Z               "line": 88
2026-06-15T08:25:24.8441261Z             },
2026-06-15T08:25:24.8441362Z             {
2026-06-15T08:25:24.8441499Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8441605Z               "line": 23
2026-06-15T08:25:24.8441701Z             },
2026-06-15T08:25:24.8441804Z             {
2026-06-15T08:25:24.8441943Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8442045Z               "line": 56
2026-06-15T08:25:24.8442147Z             },
2026-06-15T08:25:24.8442251Z             {
2026-06-15T08:25:24.8442381Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8442483Z               "line": 77
2026-06-15T08:25:24.8442587Z             },
2026-06-15T08:25:24.8442689Z             {
2026-06-15T08:25:24.8442812Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-15T08:25:24.8442917Z               "line": 186
2026-06-15T08:25:24.8443013Z             },
2026-06-15T08:25:24.8443113Z             {
2026-06-15T08:25:24.8443251Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-15T08:25:24.8443351Z               "line": 108
2026-06-15T08:25:24.8443456Z             },
2026-06-15T08:25:24.8443556Z             {
2026-06-15T08:25:24.8443694Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.8443799Z               "line": 180
2026-06-15T08:25:24.8443905Z             },
2026-06-15T08:25:24.8444009Z             {
2026-06-15T08:25:24.8444138Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8444234Z               "line": 2177
2026-06-15T08:25:24.8444338Z             }
2026-06-15T08:25:24.8444438Z           ]
2026-06-15T08:25:24.8444540Z         },
2026-06-15T08:25:24.8444639Z         "int": {
2026-06-15T08:25:24.8444743Z           "complete": false,
2026-06-15T08:25:24.8444850Z           "evidence": []
2026-06-15T08:25:24.8444949Z         },
2026-06-15T08:25:24.8445057Z         "unit": {
2026-06-15T08:25:24.8445176Z           "complete": true,
2026-06-15T08:25:24.8445272Z           "evidence": [
2026-06-15T08:25:24.8445381Z             {
2026-06-15T08:25:24.8445515Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8445620Z               "line": 579
2026-06-15T08:25:24.8445724Z             },
2026-06-15T08:25:24.8445825Z             {
2026-06-15T08:25:24.8445968Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8446063Z               "line": 704
2026-06-15T08:25:24.8446174Z             },
2026-06-15T08:25:24.8446269Z             {
2026-06-15T08:25:24.8446397Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-15T08:25:24.8446498Z               "line": 384
2026-06-15T08:25:24.8446602Z             },
2026-06-15T08:25:24.8446707Z             {
2026-06-15T08:25:24.8446837Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8446950Z               "line": 102
2026-06-15T08:25:24.8447055Z             },
2026-06-15T08:25:24.8447143Z             {
2026-06-15T08:25:24.8447279Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8447383Z               "line": 123
2026-06-15T08:25:24.8447558Z             },
2026-06-15T08:25:24.8447662Z             {
2026-06-15T08:25:24.8447800Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-15T08:25:24.8447905Z               "line": 142
2026-06-15T08:25:24.8448005Z             },
2026-06-15T08:25:24.8448115Z             {
2026-06-15T08:25:24.8448329Z               "path": "crates/spt-store/src/info.rs",
2026-06-15T08:25:24.8448435Z               "line": 413
2026-06-15T08:25:24.8448525Z             },
2026-06-15T08:25:24.8448625Z             {
2026-06-15T08:25:24.8448759Z               "path": "crates/spt-store/src/perch.rs",
2026-06-15T08:25:24.8448864Z               "line": 566
2026-06-15T08:25:24.8449026Z             },
2026-06-15T08:25:24.8449131Z             {
2026-06-15T08:25:24.8449255Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8449361Z               "line": 6646
2026-06-15T08:25:24.8449464Z             }
2026-06-15T08:25:24.8449565Z           ]
2026-06-15T08:25:24.8449671Z         }
2026-06-15T08:25:24.8449770Z       }
2026-06-15T08:25:24.8449870Z     },
2026-06-15T08:25:24.8449971Z     {
2026-06-15T08:25:24.8450076Z       "id": "REQ-UPD-5",
2026-06-15T08:25:24.8450245Z       "title": "spt-core ripple-updates registered adapters",
2026-06-15T08:25:24.8450359Z       "requiredStages": [
2026-06-15T08:25:24.8450463Z         "impl",
2026-06-15T08:25:24.8450567Z         "unit"
2026-06-15T08:25:24.8450667Z       ],
2026-06-15T08:25:24.8450773Z       "stages": {
2026-06-15T08:25:24.8450872Z         "doc": {
2026-06-15T08:25:24.8450978Z           "complete": false,
2026-06-15T08:25:24.8451083Z           "evidence": []
2026-06-15T08:25:24.8451186Z         },
2026-06-15T08:25:24.8451283Z         "impl": {
2026-06-15T08:25:24.8451388Z           "complete": true,
2026-06-15T08:25:24.8451496Z           "evidence": [
2026-06-15T08:25:24.8451598Z             {
2026-06-15T08:25:24.8451745Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8451845Z               "line": 27
2026-06-15T08:25:24.8451951Z             },
2026-06-15T08:25:24.8452055Z             {
2026-06-15T08:25:24.8452194Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8452299Z               "line": 82
2026-06-15T08:25:24.8452402Z             },
2026-06-15T08:25:24.8452508Z             {
2026-06-15T08:25:24.8452652Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8452745Z               "line": 134
2026-06-15T08:25:24.8452840Z             },
2026-06-15T08:25:24.8452941Z             {
2026-06-15T08:25:24.8453072Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8453172Z               "line": 492
2026-06-15T08:25:24.8453273Z             },
2026-06-15T08:25:24.8453377Z             {
2026-06-15T08:25:24.8453501Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8453606Z               "line": 528
2026-06-15T08:25:24.8453706Z             }
2026-06-15T08:25:24.8453811Z           ]
2026-06-15T08:25:24.8453912Z         },
2026-06-15T08:25:24.8454012Z         "int": {
2026-06-15T08:25:24.8454121Z           "complete": false,
2026-06-15T08:25:24.8454213Z           "evidence": []
2026-06-15T08:25:24.8454317Z         },
2026-06-15T08:25:24.8454421Z         "unit": {
2026-06-15T08:25:24.8454537Z           "complete": true,
2026-06-15T08:25:24.8454651Z           "evidence": [
2026-06-15T08:25:24.8454755Z             {
2026-06-15T08:25:24.8454903Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8455007Z               "line": 232
2026-06-15T08:25:24.8455109Z             },
2026-06-15T08:25:24.8455209Z             {
2026-06-15T08:25:24.8455351Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8455462Z               "line": 246
2026-06-15T08:25:24.8455561Z             },
2026-06-15T08:25:24.8455665Z             {
2026-06-15T08:25:24.8455809Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8456022Z               "line": 260
2026-06-15T08:25:24.8456124Z             },
2026-06-15T08:25:24.8456223Z             {
2026-06-15T08:25:24.8456371Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8456476Z               "line": 274
2026-06-15T08:25:24.8456585Z             },
2026-06-15T08:25:24.8456852Z             {
2026-06-15T08:25:24.8457000Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-15T08:25:24.8457106Z               "line": 308
2026-06-15T08:25:24.8457215Z             },
2026-06-15T08:25:24.8457325Z             {
2026-06-15T08:25:24.8457453Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-15T08:25:24.8457553Z               "line": 879
2026-06-15T08:25:24.8457654Z             }
2026-06-15T08:25:24.8457749Z           ]
2026-06-15T08:25:24.8457848Z         }
2026-06-15T08:25:24.8457947Z       }
2026-06-15T08:25:24.8458048Z     },
2026-06-15T08:25:24.8458151Z     {
2026-06-15T08:25:24.8458264Z       "id": "REQ-UPD-6",
2026-06-15T08:25:24.8459166Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-15T08:25:24.8459287Z       "requiredStages": [
2026-06-15T08:25:24.8459391Z         "doc",
2026-06-15T08:25:24.8459495Z         "impl",
2026-06-15T08:25:24.8459596Z         "unit",
2026-06-15T08:25:24.8459695Z         "int"
2026-06-15T08:25:24.8459791Z       ],
2026-06-15T08:25:24.8459892Z       "stages": {
2026-06-15T08:25:24.8459987Z         "doc": {
2026-06-15T08:25:24.8460106Z           "complete": true,
2026-06-15T08:25:24.8460207Z           "evidence": [
2026-06-15T08:25:24.8460307Z             {
2026-06-15T08:25:24.8460444Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-15T08:25:24.8460545Z               "line": 3
2026-06-15T08:25:24.8460645Z             },
2026-06-15T08:25:24.8460748Z             {
2026-06-15T08:25:24.8460872Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-15T08:25:24.8460971Z               "line": 3
2026-06-15T08:25:24.8461070Z             },
2026-06-15T08:25:24.8461161Z             {
2026-06-15T08:25:24.8461338Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-15T08:25:24.8461441Z               "line": 3
2026-06-15T08:25:24.8461543Z             }
2026-06-15T08:25:24.8461643Z           ]
2026-06-15T08:25:24.8461737Z         },
2026-06-15T08:25:24.8461839Z         "impl": {
2026-06-15T08:25:24.8461943Z           "complete": true,
2026-06-15T08:25:24.8462062Z           "evidence": [
2026-06-15T08:25:24.8462163Z             {
2026-06-15T08:25:24.8462305Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8462410Z               "line": 76
2026-06-15T08:25:24.8462497Z             },
2026-06-15T08:25:24.8462601Z             {
2026-06-15T08:25:24.8462739Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8462854Z               "line": 212
2026-06-15T08:25:24.8462953Z             },
2026-06-15T08:25:24.8463059Z             {
2026-06-15T08:25:24.8463203Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8463310Z               "line": 69
2026-06-15T08:25:24.8463415Z             },
2026-06-15T08:25:24.8463515Z             {
2026-06-15T08:25:24.8463651Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8463752Z               "line": 133
2026-06-15T08:25:24.8463857Z             },
2026-06-15T08:25:24.8463956Z             {
2026-06-15T08:25:24.8464081Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8464181Z               "line": 243
2026-06-15T08:25:24.8464280Z             },
2026-06-15T08:25:24.8464381Z             {
2026-06-15T08:25:24.8464509Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8464618Z               "line": 406
2026-06-15T08:25:24.8464829Z             },
2026-06-15T08:25:24.8464929Z             {
2026-06-15T08:25:24.8465059Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8465163Z               "line": 534
2026-06-15T08:25:24.8465262Z             },
2026-06-15T08:25:24.8465364Z             {
2026-06-15T08:25:24.8465587Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8465693Z               "line": 548
2026-06-15T08:25:24.8465797Z             },
2026-06-15T08:25:24.8465897Z             {
2026-06-15T08:25:24.8466037Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8466140Z               "line": 603
2026-06-15T08:25:24.8466234Z             },
2026-06-15T08:25:24.8466335Z             {
2026-06-15T08:25:24.8466487Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8466601Z               "line": 634
2026-06-15T08:25:24.8466712Z             },
2026-06-15T08:25:24.8466811Z             {
2026-06-15T08:25:24.8466965Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-15T08:25:24.8467074Z               "line": 137
2026-06-15T08:25:24.8467173Z             },
2026-06-15T08:25:24.8467270Z             {
2026-06-15T08:25:24.8467407Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-15T08:25:24.8467507Z               "line": 184
2026-06-15T08:25:24.8467613Z             },
2026-06-15T08:25:24.8467708Z             {
2026-06-15T08:25:24.8467856Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8467957Z               "line": 78
2026-06-15T08:25:24.8468060Z             },
2026-06-15T08:25:24.8468161Z             {
2026-06-15T08:25:24.8468301Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8468404Z               "line": 114
2026-06-15T08:25:24.8468507Z             },
2026-06-15T08:25:24.8468608Z             {
2026-06-15T08:25:24.8468739Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8468844Z               "line": 185
2026-06-15T08:25:24.8471716Z             },
2026-06-15T08:25:24.8471865Z             {
2026-06-15T08:25:24.8472011Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8472127Z               "line": 260
2026-06-15T08:25:24.8472227Z             },
2026-06-15T08:25:24.8472330Z             {
2026-06-15T08:25:24.8472484Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8472579Z               "line": 292
2026-06-15T08:25:24.8472685Z             },
2026-06-15T08:25:24.8472780Z             {
2026-06-15T08:25:24.8472927Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8473038Z               "line": 323
2026-06-15T08:25:24.8473137Z             },
2026-06-15T08:25:24.8473242Z             {
2026-06-15T08:25:24.8473372Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8473466Z               "line": 346
2026-06-15T08:25:24.8473567Z             },
2026-06-15T08:25:24.8473668Z             {
2026-06-15T08:25:24.8473795Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8473889Z               "line": 388
2026-06-15T08:25:24.8473989Z             },
2026-06-15T08:25:24.8474089Z             {
2026-06-15T08:25:24.8474225Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8474336Z               "line": 398
2026-06-15T08:25:24.8474437Z             },
2026-06-15T08:25:24.8474540Z             {
2026-06-15T08:25:24.8474670Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8474770Z               "line": 410
2026-06-15T08:25:24.8474869Z             },
2026-06-15T08:25:24.8474970Z             {
2026-06-15T08:25:24.8475099Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8475193Z               "line": 420
2026-06-15T08:25:24.8475295Z             },
2026-06-15T08:25:24.8475394Z             {
2026-06-15T08:25:24.8475527Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8475761Z               "line": 439
2026-06-15T08:25:24.8475866Z             },
2026-06-15T08:25:24.8475957Z             {
2026-06-15T08:25:24.8476095Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8476210Z               "line": 449
2026-06-15T08:25:24.8476310Z             },
2026-06-15T08:25:24.8476501Z             {
2026-06-15T08:25:24.8476635Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8476733Z               "line": 94
2026-06-15T08:25:24.8476832Z             },
2026-06-15T08:25:24.8476934Z             {
2026-06-15T08:25:24.8477062Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8477166Z               "line": 120
2026-06-15T08:25:24.8477268Z             },
2026-06-15T08:25:24.8477367Z             {
2026-06-15T08:25:24.8477491Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8477592Z               "line": 135
2026-06-15T08:25:24.8477687Z             },
2026-06-15T08:25:24.8477796Z             {
2026-06-15T08:25:24.8477930Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8478034Z               "line": 162
2026-06-15T08:25:24.8478130Z             },
2026-06-15T08:25:24.8478236Z             {
2026-06-15T08:25:24.8478368Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8478470Z               "line": 174
2026-06-15T08:25:24.8478569Z             },
2026-06-15T08:25:24.8478669Z             {
2026-06-15T08:25:24.8478794Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8478893Z               "line": 185
2026-06-15T08:25:24.8479087Z             },
2026-06-15T08:25:24.8479192Z             {
2026-06-15T08:25:24.8479314Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8479419Z               "line": 451
2026-06-15T08:25:24.8479515Z             },
2026-06-15T08:25:24.8479619Z             {
2026-06-15T08:25:24.8479753Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8479858Z               "line": 555
2026-06-15T08:25:24.8479952Z             },
2026-06-15T08:25:24.8480048Z             {
2026-06-15T08:25:24.8480187Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8480286Z               "line": 171
2026-06-15T08:25:24.8480392Z             },
2026-06-15T08:25:24.8480492Z             {
2026-06-15T08:25:24.8480615Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8480711Z               "line": 65
2026-06-15T08:25:24.8480811Z             },
2026-06-15T08:25:24.8480911Z             {
2026-06-15T08:25:24.8481036Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8481140Z               "line": 71
2026-06-15T08:25:24.8481240Z             },
2026-06-15T08:25:24.8481341Z             {
2026-06-15T08:25:24.8481478Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-15T08:25:24.8481579Z               "line": 77
2026-06-15T08:25:24.8481680Z             },
2026-06-15T08:25:24.8481784Z             {
2026-06-15T08:25:24.8481906Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8482002Z               "line": 778
2026-06-15T08:25:24.8482101Z             },
2026-06-15T08:25:24.8482200Z             {
2026-06-15T08:25:24.8482319Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8482434Z               "line": 795
2026-06-15T08:25:24.8482534Z             },
2026-06-15T08:25:24.8482639Z             {
2026-06-15T08:25:24.8482759Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8482863Z               "line": 838
2026-06-15T08:25:24.8482964Z             },
2026-06-15T08:25:24.8483054Z             {
2026-06-15T08:25:24.8483163Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8483264Z               "line": 981
2026-06-15T08:25:24.8483368Z             },
2026-06-15T08:25:24.8483468Z             {
2026-06-15T08:25:24.8483583Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8483792Z               "line": 1131
2026-06-15T08:25:24.8483893Z             }
2026-06-15T08:25:24.8483994Z           ]
2026-06-15T08:25:24.8484093Z         },
2026-06-15T08:25:24.8484199Z         "int": {
2026-06-15T08:25:24.8484299Z           "complete": true,
2026-06-15T08:25:24.8484407Z           "evidence": [
2026-06-15T08:25:24.8484597Z             {
2026-06-15T08:25:24.8484743Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.8484843Z               "line": 569
2026-06-15T08:25:24.8484939Z             },
2026-06-15T08:25:24.8485039Z             {
2026-06-15T08:25:24.8485176Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-15T08:25:24.8485287Z               "line": 135
2026-06-15T08:25:24.8485386Z             }
2026-06-15T08:25:24.8485482Z           ]
2026-06-15T08:25:24.8485587Z         },
2026-06-15T08:25:24.8485683Z         "unit": {
2026-06-15T08:25:24.8485797Z           "complete": true,
2026-06-15T08:25:24.8485897Z           "evidence": [
2026-06-15T08:25:24.8486002Z             {
2026-06-15T08:25:24.8486145Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8486255Z               "line": 624
2026-06-15T08:25:24.8486359Z             },
2026-06-15T08:25:24.8486460Z             {
2026-06-15T08:25:24.8486598Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8486712Z               "line": 673
2026-06-15T08:25:24.8486809Z             },
2026-06-15T08:25:24.8486903Z             {
2026-06-15T08:25:24.8487041Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-15T08:25:24.8487143Z               "line": 696
2026-06-15T08:25:24.8487246Z             },
2026-06-15T08:25:24.8487340Z             {
2026-06-15T08:25:24.8487479Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8487580Z               "line": 513
2026-06-15T08:25:24.8487683Z             },
2026-06-15T08:25:24.8487780Z             {
2026-06-15T08:25:24.8487918Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8488027Z               "line": 638
2026-06-15T08:25:24.8488128Z             },
2026-06-15T08:25:24.8488228Z             {
2026-06-15T08:25:24.8488352Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8488452Z               "line": 675
2026-06-15T08:25:24.8488552Z             },
2026-06-15T08:25:24.8488656Z             {
2026-06-15T08:25:24.8488796Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8488896Z               "line": 894
2026-06-15T08:25:24.8489082Z             },
2026-06-15T08:25:24.8489185Z             {
2026-06-15T08:25:24.8489324Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8489425Z               "line": 916
2026-06-15T08:25:24.8489524Z             },
2026-06-15T08:25:24.8489628Z             {
2026-06-15T08:25:24.8489748Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8489850Z               "line": 933
2026-06-15T08:25:24.8489945Z             },
2026-06-15T08:25:24.8490046Z             {
2026-06-15T08:25:24.8490170Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8490279Z               "line": 948
2026-06-15T08:25:24.8490376Z             },
2026-06-15T08:25:24.8490466Z             {
2026-06-15T08:25:24.8490593Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8490690Z               "line": 974
2026-06-15T08:25:24.8490795Z             },
2026-06-15T08:25:24.8490894Z             {
2026-06-15T08:25:24.8491033Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-15T08:25:24.8491138Z               "line": 457
2026-06-15T08:25:24.8491233Z             },
2026-06-15T08:25:24.8491329Z             {
2026-06-15T08:25:24.8491466Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-15T08:25:24.8491577Z               "line": 338
2026-06-15T08:25:24.8491677Z             },
2026-06-15T08:25:24.8491777Z             {
2026-06-15T08:25:24.8491897Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8492096Z               "line": 8788
2026-06-15T08:25:24.8492192Z             },
2026-06-15T08:25:24.8492293Z             {
2026-06-15T08:25:24.8492414Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8492519Z               "line": 1260
2026-06-15T08:25:24.8492620Z             },
2026-06-15T08:25:24.8492821Z             {
2026-06-15T08:25:24.8492956Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-15T08:25:24.8493056Z               "line": 130
2026-06-15T08:25:24.8493151Z             }
2026-06-15T08:25:24.8493252Z           ]
2026-06-15T08:25:24.8493352Z         }
2026-06-15T08:25:24.8493451Z       }
2026-06-15T08:25:24.8493553Z     },
2026-06-15T08:25:24.8493653Z     {
2026-06-15T08:25:24.8493756Z       "id": "REQ-UPD-7",
2026-06-15T08:25:24.8495871Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-15T08:25:24.8496018Z       "requiredStages": [
2026-06-15T08:25:24.8496128Z         "impl",
2026-06-15T08:25:24.8496228Z         "unit"
2026-06-15T08:25:24.8496332Z       ],
2026-06-15T08:25:24.8496429Z       "stages": {
2026-06-15T08:25:24.8496533Z         "doc": {
2026-06-15T08:25:24.8496633Z           "complete": false,
2026-06-15T08:25:24.8496735Z           "evidence": []
2026-06-15T08:25:24.8496838Z         },
2026-06-15T08:25:24.8496934Z         "impl": {
2026-06-15T08:25:24.8497040Z           "complete": true,
2026-06-15T08:25:24.8497158Z           "evidence": [
2026-06-15T08:25:24.8497258Z             {
2026-06-15T08:25:24.8497379Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8497486Z               "line": 2282
2026-06-15T08:25:24.8497583Z             }
2026-06-15T08:25:24.8497669Z           ]
2026-06-15T08:25:24.8497773Z         },
2026-06-15T08:25:24.8497881Z         "int": {
2026-06-15T08:25:24.8497991Z           "complete": false,
2026-06-15T08:25:24.8498097Z           "evidence": []
2026-06-15T08:25:24.8498201Z         },
2026-06-15T08:25:24.8498301Z         "unit": {
2026-06-15T08:25:24.8498407Z           "complete": true,
2026-06-15T08:25:24.8498506Z           "evidence": [
2026-06-15T08:25:24.8498606Z             {
2026-06-15T08:25:24.8498726Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8498835Z               "line": 8764
2026-06-15T08:25:24.8498931Z             }
2026-06-15T08:25:24.8499117Z           ]
2026-06-15T08:25:24.8499221Z         }
2026-06-15T08:25:24.8499313Z       }
2026-06-15T08:25:24.8499412Z     },
2026-06-15T08:25:24.8499507Z     {
2026-06-15T08:25:24.8499623Z       "id": "REQ-UPD-8",
2026-06-15T08:25:24.8502088Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-15T08:25:24.8502327Z       "requiredStages": [
2026-06-15T08:25:24.8502432Z         "impl",
2026-06-15T08:25:24.8502528Z         "unit"
2026-06-15T08:25:24.8502631Z       ],
2026-06-15T08:25:24.8502728Z       "stages": {
2026-06-15T08:25:24.8502829Z         "doc": {
2026-06-15T08:25:24.8502932Z           "complete": false,
2026-06-15T08:25:24.8503175Z           "evidence": []
2026-06-15T08:25:24.8503273Z         },
2026-06-15T08:25:24.8503372Z         "impl": {
2026-06-15T08:25:24.8503473Z           "complete": true,
2026-06-15T08:25:24.8503574Z           "evidence": [
2026-06-15T08:25:24.8503682Z             {
2026-06-15T08:25:24.8503831Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8503935Z               "line": 77
2026-06-15T08:25:24.8504035Z             },
2026-06-15T08:25:24.8504122Z             {
2026-06-15T08:25:24.8504264Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8504374Z               "line": 49
2026-06-15T08:25:24.8504475Z             },
2026-06-15T08:25:24.8504574Z             {
2026-06-15T08:25:24.8504709Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8504813Z               "line": 152
2026-06-15T08:25:24.8504912Z             },
2026-06-15T08:25:24.8505014Z             {
2026-06-15T08:25:24.8505142Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8505251Z               "line": 215
2026-06-15T08:25:24.8505357Z             },
2026-06-15T08:25:24.8505452Z             {
2026-06-15T08:25:24.8505589Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8505694Z               "line": 230
2026-06-15T08:25:24.8505797Z             },
2026-06-15T08:25:24.8505896Z             {
2026-06-15T08:25:24.8506059Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8506168Z               "line": 247
2026-06-15T08:25:24.8506253Z             },
2026-06-15T08:25:24.8506351Z             {
2026-06-15T08:25:24.8506483Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8506587Z               "line": 269
2026-06-15T08:25:24.8506684Z             },
2026-06-15T08:25:24.8506784Z             {
2026-06-15T08:25:24.8506922Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8507018Z               "line": 66
2026-06-15T08:25:24.8507122Z             },
2026-06-15T08:25:24.8507217Z             {
2026-06-15T08:25:24.8507356Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-15T08:25:24.8507451Z               "line": 154
2026-06-15T08:25:24.8507556Z             },
2026-06-15T08:25:24.8507657Z             {
2026-06-15T08:25:24.8507780Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8507886Z               "line": 2156
2026-06-15T08:25:24.8507986Z             },
2026-06-15T08:25:24.8508090Z             {
2026-06-15T08:25:24.8508206Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8508305Z               "line": 2229
2026-06-15T08:25:24.8508413Z             },
2026-06-15T08:25:24.8508513Z             {
2026-06-15T08:25:24.8508633Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8508738Z               "line": 2239
2026-06-15T08:25:24.8508837Z             },
2026-06-15T08:25:24.8509024Z             {
2026-06-15T08:25:24.8509147Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8509258Z               "line": 2246
2026-06-15T08:25:24.8509358Z             },
2026-06-15T08:25:24.8509457Z             {
2026-06-15T08:25:24.8509572Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8509677Z               "line": 2283
2026-06-15T08:25:24.8509776Z             },
2026-06-15T08:25:24.8509873Z             {
2026-06-15T08:25:24.8509996Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8510096Z               "line": 480
2026-06-15T08:25:24.8510202Z             },
2026-06-15T08:25:24.8510301Z             {
2026-06-15T08:25:24.8510421Z               "path": "crates/xtask/src/main.rs",
2026-06-15T08:25:24.8510630Z               "line": 494
2026-06-15T08:25:24.8510720Z             }
2026-06-15T08:25:24.8510820Z           ]
2026-06-15T08:25:24.8510914Z         },
2026-06-15T08:25:24.8511018Z         "int": {
2026-06-15T08:25:24.8511128Z           "complete": false,
2026-06-15T08:25:24.8511239Z           "evidence": []
2026-06-15T08:25:24.8511428Z         },
2026-06-15T08:25:24.8511524Z         "unit": {
2026-06-15T08:25:24.8511638Z           "complete": true,
2026-06-15T08:25:24.8511733Z           "evidence": [
2026-06-15T08:25:24.8511830Z             {
2026-06-15T08:25:24.8511976Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-15T08:25:24.8512082Z               "line": 476
2026-06-15T08:25:24.8512182Z             },
2026-06-15T08:25:24.8512282Z             {
2026-06-15T08:25:24.8512416Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-15T08:25:24.8512520Z               "line": 580
2026-06-15T08:25:24.8512624Z             },
2026-06-15T08:25:24.8512731Z             {
2026-06-15T08:25:24.8512854Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8512953Z               "line": 8766
2026-06-15T08:25:24.8513051Z             },
2026-06-15T08:25:24.8513154Z             {
2026-06-15T08:25:24.8513273Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8513370Z               "line": 8788
2026-06-15T08:25:24.8513474Z             }
2026-06-15T08:25:24.8513573Z           ]
2026-06-15T08:25:24.8513673Z         }
2026-06-15T08:25:24.8513772Z       }
2026-06-15T08:25:24.8513875Z     },
2026-06-15T08:25:24.8513971Z     {
2026-06-15T08:25:24.8514086Z       "id": "REQ-WHOAMI-1",
2026-06-15T08:25:24.8515739Z       "title": "`spt whoami` is a thin ALIAS for `spt endpoint list` (full output: the SELF pin + the subnet roster) — the standalone bare-id command is dropped (the `id=$(spt whoami)` capture was never a real pattern: env vars don't persist between agent tool calls). The one new render: the `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read_info(...).resources) when present, inline after the liveness state. whoami stays a top-level hot-path verb (parse unchanged, REQ-MSG-9).",
2026-06-15T08:25:24.8515860Z       "requiredStages": [
2026-06-15T08:25:24.8515951Z         "doc",
2026-06-15T08:25:24.8516054Z         "impl",
2026-06-15T08:25:24.8516172Z         "unit"
2026-06-15T08:25:24.8516273Z       ],
2026-06-15T08:25:24.8516372Z       "stages": {
2026-06-15T08:25:24.8516476Z         "doc": {
2026-06-15T08:25:24.8516571Z           "complete": true,
2026-06-15T08:25:24.8516677Z           "evidence": [
2026-06-15T08:25:24.8516776Z             {
2026-06-15T08:25:24.8516881Z               "path": "CONTEXT.md",
2026-06-15T08:25:24.8516981Z               "line": 649
2026-06-15T08:25:24.8517076Z             }
2026-06-15T08:25:24.8517172Z           ]
2026-06-15T08:25:24.8517272Z         },
2026-06-15T08:25:24.8517377Z         "impl": {
2026-06-15T08:25:24.8517492Z           "complete": true,
2026-06-15T08:25:24.8517601Z           "evidence": [
2026-06-15T08:25:24.8517692Z             {
2026-06-15T08:25:24.8517816Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8517916Z               "line": 2762
2026-06-15T08:25:24.8518016Z             },
2026-06-15T08:25:24.8518121Z             {
2026-06-15T08:25:24.8518250Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8518350Z               "line": 2774
2026-06-15T08:25:24.8518451Z             }
2026-06-15T08:25:24.8518551Z           ]
2026-06-15T08:25:24.8518650Z         },
2026-06-15T08:25:24.8518751Z         "int": {
2026-06-15T08:25:24.8518866Z           "complete": false,
2026-06-15T08:25:24.8519049Z           "evidence": []
2026-06-15T08:25:24.8519150Z         },
2026-06-15T08:25:24.8519241Z         "unit": {
2026-06-15T08:25:24.8519350Z           "complete": true,
2026-06-15T08:25:24.8519475Z           "evidence": [
2026-06-15T08:25:24.8519575Z             {
2026-06-15T08:25:24.8519692Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8519922Z               "line": 6343
2026-06-15T08:25:24.8520017Z             },
2026-06-15T08:25:24.8520119Z             {
2026-06-15T08:25:24.8520227Z               "path": "crates/spt/src/cli.rs",
2026-06-15T08:25:24.8520332Z               "line": 6359
2026-06-15T08:25:24.8520434Z             }
2026-06-15T08:25:24.8520628Z           ]
2026-06-15T08:25:24.8520729Z         }
2026-06-15T08:25:24.8520833Z       }
2026-06-15T08:25:24.8520938Z     }
2026-06-15T08:25:24.8521039Z   ],
2026-06-15T08:25:24.8521147Z   "findings": []
2026-06-15T08:25:24.8521246Z }
